Automatic Deployment Blog
Contents
前言
最近学习了一点git打开了新世界的大门,git是一个很适合多人协作的工具,就像是当前的这个博客原来我是在本地的,用git可以做版本控制同时可以可以让学姐参与进来一起写博客。
用git之后同时也带来了一个问题,就是当分支合并的时候由谁来部署。
这篇文章就是关于如何自动化部署博客。
workflow
我们先来谈谈当前的工作流。
当前的仓库是分了3个分支,分别是:
- master 部署的分支
- yafa 我的开发分支
- chris 学姐的开发分支
当一片文章完成之后或者是修改过后提交到对应的开发分支,然后合并到master分支,合并之后推送到github仓库。之后就会触发github action构建并部署。总体的工作流如下:
Github Actions
这里用到的是Github Actions,当推送到master分支的时候会触发动作,并且按照Github Actions中的内容进行构建和部署。
这次用的是私有仓库Github现在私有仓库是有2000分钟的Github Actions使用额度,对于我这种只是更新博客来说绰绰有余了,之后也会考虑利用这个做点其他的项目。
在网站的源码仓库创建文件夹:
|
|
创建并编辑.github/workflows/deploy_hugo_site.yml
文件
|
|
内容如下:
|
|
保存并退出。
这里如果你要使用的话需要注意修改以下部分:
yafa-xena/yafa-xena.github.io
这里修改成你的仓库地址main
这里修改成你仓库对应的主分支比如说master
创建SSH KEY
这里需要创建一对ssh密钥用于Github Action 构建完成之后推送到yafa-xena.github.io
这个公开仓库。
|
|
注意不要输入密码,这里需要免密执行。
接下来我们需要将这两个key放到对应的位置。
首先在源仓库添加Secret:
选择添加,注意这里要填入的是私钥的内容,关于这部分内容可以通过:
|
|
这条命令查看,将内容复制粘贴到新加的key中。
接下来是在yafa-xena.github.io
这个仓库中添加部署Key也就是公钥:
测试
在源码仓库随意创建一个文件,然后部署提交到master
分支之后应该就可以看到触发构建动作了。
后记
通过这次的自动化构建工作让我体验到了DevOps的冰山一角,接下来我会继续探索Github Actions看看还可以怎样高效利用。