个人博客的自动构建与部署

最近对自己的博客做了些小的修改,部署的时候需要登录到服务器拉取代码后进行构建部署等操作,由于有些命令有些长,我不太能记得住,翻找历史命令时都觉得自己很傻比。一开始想着把命令都记到一个文本里面,下次就直接复制,再细想,不如此彻底一点,做成自动构建和部署,这样下次把修改代码提交到GitHub后,直接点击一个按钮就轻轻松松部署成功了。

首先是梳理一个自动构建部署流程。在构建服务器上获取源代码并进行构建,将构建后的代码发送到目标服务器,在目标服务器上执行脚本进行部署。过程中使用Jenkins作为自动化工具;构建与部署都在docker容器内进行,尽量做到与服务器环境无关;使用ssh来执行远程脚本,使用scp将构建后的代码上传到目标服务器。具体脚本,请查阅build.sh

具体过程中踩过的一些的坑:

  1. 需要将Jenkins用户加入docker组中,不然Jenkins没有执行docker的权限

  2. 开启ssh互信时,直接复制粘贴公钥到目标服务器authorized_keys文件中仍然有可能提示未认证,可以使用ssh-copy-id命令来发送,具体请看这里

  3. 需要在Jenkins用户下开启ssh互信,在centos7下切换Jenkins用户时需要注意Jenkins用户可能是禁止登陆装填,请自行查看并修改/etc/passwd文件

其实遇到的这些问题解决起来都比较很简单,但是如何定位到问题所在却没那么简单,尤其是在错误提示不明显的情况下。对于不熟悉Linux的人来说(比如我),更是需要查许多资料,每次都会觉得自己好蠢,orz。

由于偷懒,自动化测试和回滚部分就略去了。

下次再见。

你可能感兴趣的:(个人博客的自动构建与部署)