实现 Github Actions 持续部署
完整实现 Github Actions 持续部署!
更新
浏览 Docker 方法,发现它模拟的是本地生成 SSH 密钥,然后通过密钥连接并推送代码到远程仓库。我也尝试把 entrypoint.sh
中的命令化为一个个步骤,直接放在 jobs 中,而不是放在 Docker 容器中,但是发现我不会 linux,所以后面再说。
最终选择仍以 token 为路径,来提交代码。
实现
代码如下:
1 | # 文件路径 .github/workflows/deployment.yml |
注意
变量命名以及步骤解释在 此文 均有讲解,这里不再赘述。
分支
2020年10月份开始 GitHub 把默认的 master 分支换成了 main 分支。为了方便,我在远程仓库的分支也设为了 main 分支。这里注意:本地
git init
后默认仍为 master 分支,此时应将新建 main 分支,并切换到 main 分支。1
2//新建 main 分支,并切换到 main 分支
git checkout -b main仓库
我的源码放在了仓库 blog 中,但是为使用 gh-pages,生成的 public 静态文件必须放在 username.github.io 的仓库中。
故而添加的 Secrets 变量均在 bolg 仓库中。
错误总结
原本我的仓库均只有 main 分支,而 jobs 代码并未加上 git checkout -b main
,导致报错 error: failed to push some refs to
,根据此文,同时浏览了 Git push 讲解,然后从“分支名不完整、没有提交代码、本地与远程产生冲突”入手。
经过一番苦思,突然想到把远程那虚拟主机当成自己的电脑,直接 git init
,然后 git add .
,提交的不就是本地的 master 分支吗,但是我 git push
指明本地的是 main 分支,而 main 分支不存在当然会报错,于是加上 git checkout -b main
,解决问题。