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 的公钥删除防止泄露。