daocloud.yml 说明和配置 - neoFelhz/HexoAutoBuildScript GitHub Wiki
# Daocloud.yml
标识这个脚本是 daocloud 脚本。
image: {手动构建镜像以后的 hexo 镜像拉取地址}
dockerfile 文件已经指定构建了包括 Hexo 基本框架、Git 有关组件和 node.js 框架的镜像,这个镜像是你的部署环境。 之前你已经手动构建了一个镜像。这时你可以在镜像仓库里看到 DaoCloud 给你分配了一个镜像项目和镜像的地址,将这个地址填在这里。
install:
- npm install
- npm install hexo-deployer-git --save
接下来是通过调用 npm install
指令实现 Hexo 必备的依赖组件的安装。
当你需要在你的 Hexo 里安装别的插件时,请把相关的
npm install
指令添加到后头。
before_script:
- mkdir ~/.ssh
- mv .daocloud/id_rsa ~/.ssh/id_rsa
- mv .daocloud/ssh_config ~/.ssh/config
- chmod 600 ~/.ssh/id_rsa
- chmod 600 ~/.ssh/config
- eval $(ssh-agent)
- ssh-add ~/.ssh/id_rsa
- rm -rf .daocloud
这个是和 SSH 部署有关的脚本。分别执行了以下内容:
- 从你的项目里获取私钥文件和配置文件;
- 将私钥文件和配置文件移动到 DaoCloud 的工作目录下;
- 给文件设置 600 权限防止无法读取;
- 启动 DaoCloud 的 SSH-Agent 并添加私钥。
- 删除 DaoCloud 的工作目录防止私钥泄露。
如果你不用 Git 进行 Deploy,请把这一部分指令注释掉或者删除掉。
- git config --global user.name "{你的用户名}"
- git config --global user.email "{你的密码}"
这个是配置你的 git ,以便让 DaoCloud 可以通过 Git 的形式 Deploy 你的文章。
如果你不用 Git 进行 Deploy,请把这一部分指令注释掉或者删除掉。
script:
- hexo clean
- hexo g
- hexo d
- rm -rf ~/.ssh/
接下来是执行 Hexo 指令清除 public 文件夹、重新生成静态页面并发布。同时将部署到 DaoCloud 的公钥删除防止泄露。