2 Star 1 Fork 1

Serverless Framework / Documentation

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
快速部署 Hexo博客.md 4.09 KB
一键复制 编辑 原始数据 按行查看 历史
April 提交于 2020-11-22 03:37 . Add files via upload

操作场景

该任务指导您通过 Serverless Website 组件,快速构建一个 Serverless Hexo 站点。

前提条件

  • 已安装 Node.js2020年9月1日起,Serverless 组件不再支持 Node.js10.0 以下版本,请注意升级
  • 已安装 Git

如您未安装上述应用程序,可以参考 Hexo 安装说明

操作步骤

1. 安装

通过 npm 安装 Serverless Framework:

$ npm install -g serverless

通过 npm 安装 Hexo:

$ npm install -g hexo-cli

安装 Hexo 完成后,请执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。

$ hexo init hexo   # 生成 Hexo 目录
$ cd hexo
$ npm install

新建完成后,指定文件夹的目录如下:

.
├── _config.yml
├── package.json
├── scaffolds
├── source
|   ├── _drafts
|   └── _posts
└── themes

安装完成后,可以通过hexo g命令生成静态页面:

$ hexo g   # generate

?如果希望在本地查看效果,也可以运行下列命令,通过浏览器访问 localhost:4000 查看页面效果。

$ hexo s   # server

2. 配置

hexo目录下,创建serverless.yml文件:

$ touch serverless.yml

serverless.yml文件中进行如下配置:

# serverless.yml

component: website # (必填) 引用 component 的名称,当前用到的是 tencent-website 组件
name: hexodemo # (必填) 该 website 组件创建的实例名称
org: test # (可选) 用于记录组织信息,默认值为您的腾讯云账号 APPID
app: websiteApp # (可选) 该 website 应用名称
stage: dev # (可选) 用于区分环境信息,默认值是 dev

inputs:
  src:
    src: ./public # Upload static files generated by HEXO
    index: index.html
    # dist: ./dist
    # hook: npm run build
    # websitePath: ./
  region: ap-guangzhou
  bucketName: my-bucket
  protocol: https
  

配置完成后,文件目录如下:

.
├── .serverless
└── hexo
    ├── public
    ├── ...
    ├── serverless.yml 
    ├── ...
    └── source

3. 部署

通过sls deploy命令进行部署,并可以添加--debug参数查看部署过程中的信息。 如您的账号未 登录注册 腾讯云,您可以直接通过微信扫描命令行中的二维码进行授权登录和注册。

$ sls deploy

serverless ⚡ framework
Action: "deploy" - Stage: "dev" - App: "websiteApp" - Instance: "hexodemo"

region:  ap-guangzhou
website: https://my-bucket-1258834142.cos-website.ap-guangzhou.myqcloud.com


25s › hexodemo › Success

访问命令行输出的 Website URL,即可查看您的 Serverless Hexo 站点。

!如果希望更新 Hexo 站点中的文章,需要在本地重新运行hexo g进行生成静态页面,再运行serverless更新到页面。

4. 移除

通过以下命令移除 Hexo 网站:

$ sls remove --debug

  DEBUG ─ Flushing template state and removing all components.
  DEBUG ─ Starting Website Removal.
  DEBUG ─ Removing Website bucket.
  DEBUG ─ Removing files from the "my-bucket-1250000000" bucket.
  DEBUG ─ Removing "my-bucket-1250000000" bucket from the "ap-guangzhou" region.
  DEBUG ─ "my-bucket-1250000000" bucket was successfully removed from the "ap-guangzhou" region.
  DEBUG ─ Finished Website Removal.

  6s » myWebsite » done

账号配置(可选)

当前默认支持 CLI 扫描二维码登录,如您希望配置持久的环境变量/密钥信息,也可以本地创建 .env 文件:

$ touch .env # 腾讯云的配置信息

.env 文件中配置腾讯云的 SecretId 和 SecretKey 信息并保存:

# .env
TENCENT_SECRET_ID=123
TENCENT_SECRET_KEY=123

?

1
https://gitee.com/serverless-framework/documentation.git
git@gitee.com:serverless-framework/documentation.git
serverless-framework
documentation
Documentation
main

搜索帮助