利用Jenkins+Github自动部署hugo博客
复工了,刚上班身体在休息了40天以后还有点受不了。人就更加懒了。貌似今年总结的东西会比去年更好一些,不是思想的东西就是工作中准备用的。挺好,感觉比去年写的更有目的。这次要写的东西是准备在公司部署的,利用 Jenkins 编译公司的一些东西。利用周末的时间抓紧自己研究一下,但是从今天的总结来看,应用到公司上面可参考不多,毕竟平台不同,需要准备的也不一样。不过整体流程跑通了。起码会在以后节省一些时间。
今天要弄的时候利用 Jenkins + Github 自动部署我们的 hugo 博客。服务器快到期了,需要迁移服务器,以前的博客都是自己敲命令用 rsync 同步的。迁移就需要准备很多东西了,在让我以后同步博客,肯定是不会很开心的,既然如此,就让自动化来搞定,给自己节省更多的时间。
安装我们就不说了,可以参考官方文档,都是中文的,我是用 docker 部署到我自己的服务器上面的。插件我除了推荐的部分,我还额外安装了 golang、Publish Over SSH。Publish Over SSH 这个是我们本地要用到的,golang是准备以后用的。可以不用安装。注意,第一次安装好以后会汉化不完全,看看插件 Localization: Chinese (Simplified) 是否安装了,没有就安装一下,重启以后就汉化完全了。
点击菜单进入系统管理 -> 系统配置,找到 Publish over SSH 的部分,设置按照如图,配置好自己的参数
没有 SSH Server 的部分就点击新增就可以出现了。没有红框密码的部分,点击一下高级就有了,勾选使用密码,在输入密码。 Name 自己输入自己定义的名字 Host 和 Username 就是服务器的 ip 和用户名,Remote Directory 可以理解为操作的根目录,最后设置好以后,点击 Test 没问题的话就会有 Success 的提示。测试成功后点击保存就可以了。
接下来,选择菜单 新建任务,名称还是自己填写自己的任务名,接下来选择我们这里选择 构建一个自由风格的软件项目 大家可以按照自己的需求选择,然后点击确定进入下一步进入配置。
在源码管理,我们这边是用的 git,可以根据自己的需求自己选择。别忘了账号密码的配置。否则拉代码会有问题哦,因为我们是私有的项目。
接下来我们在 构建触发器 选择 GitHub hook trigger for GITScm polling
是用方法可以看文档的说明,我们使用的方法,在文档的下图位置
这里说的就是在系统管理 -> 系统配置中可以看到 hook 的 url,我们把他填写到 github 项目设置里面的 webhook 就可以了,如下两张图。
如果看不到,点击高级就可以了。
这里注意配置什么情况下载通知,我们这里只要配置在有 push 的时候通知就足够了。
继续回到 Jenkins 的项目配置
执行脚本就按照自己的配置就可以了,我这边就是下载了 hugo 的可执行文件,然后编译了一下。
在构建后操作我们有两个操作,一个是服务器那边拉取这边编译好以后的博客到服务器,用 rsync 拉取。
第二个操作是 Delete workspace when build is done 都弄好后清除,每次编译都全新拉取,我觉得会更安全一些,至于速度慢一些可以接受。
最后点击保存,点击立即构建测试一波,不出意外应该都可以部署了。
最后,如果一切顺利,这边文章,将是自动部署上去的。 最近混进了一个大神群,他们都很努力,我也得加油了,更努力的追赶大神们。
- 原文作者:M1racle
- 原文链接:https://www.cimple.ink/2020/04/11/jenkins-and-github-auto-deploy-hugo-blog/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. 进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。