使用Github、Travis-CI和Coding.net自动部署博客[三]
迟迟到来的第三篇,也就是最后一篇。
1 | deploy: |
这是 Travis CI 的部署步骤的配置,“部署” 是整个工作流的最后一步,这里只注意 branch: master,道理和上一个说明一样,其他照抄;
编写部署脚本
Travis CI 的工作流最后一步是部署的功能,我们利用它本身的配置需求进行配置,并且编写相关脚本,这样就可以达到部署博客的需求了。
在博客根目录下添加 .travis 文件夹,文件目录结构为:
1 | blogroot // 博客根目录 |
- deploy.sh 是执行脚本
1 | !/bin/bash |
这个脚本的功能就是执行 hexo deploy,有人说那直接执行不就完了吗?
非也!我们要部署代码,就是要执行 git push 的操作,而这一步是需要 ssh key 的,否则你是没有权限给一个 git repository push 代码的,而这个脚本除了最后一步,其他所有的代码都是在构建这个带 ssh key 的上下文环境。
什么都不用管,照抄就行,只用管以下两个配置。
1 | Decrypt the private key |
这行代码的作用就是获取你的key,毕竟私钥是不能放到代码里了,要是被别人看到了怎么办?所以Travis让你在本地用Travis知道的key对你的私钥进行加密,得到这个 private_key.enc,而这个key是由你自己配置到Travis上的,而这个key的名字是什么呢?就是上面的 $encrypted_adc0b7f2dba9_key 和 $encrypted_adc0b7f2dba9_iv,具体怎么配置,可以查看官网的说明 https://docs.travis-ci.com/user/encrypting-files/#Automated-Encryption.
最后编写完成脚本后,上传代码到GitHub就可以了。