该任务指导您通过 Serverless Website 组件,快速构建一个 Serverless Hexo 站点。
如您未安装上述应用程序,可以参考 Hexo 安装说明。
通过 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
在hexo
目录下,创建serverless.yml
文件:
$ touch serverless.yml
在serverless.yml
文件中进行如下配置:
# serverless.yml
component: website # (必填) 引用 component 的名称,当前用到的是 tencent-website 组件
name: hexodemo # (必填) 该 website 组件创建的实例名称
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
通过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
更新到页面。
通过以下命令移除 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
说明:
本页内容是否解决了您的问题?