GitLabCI通过ssh进行自动部署
需求
通过gitlab-ci实现文件的自动部署
实现过程
文档托管在gitlab上, 每次代码更新, 会自动出发gitlab-ci构建
在构建脚本中, 通过ssh 登录远程服务器执行git拉取文档的命令
过程
首先需要在服务器上生成ssh证书
注意该证书的用户必须与ssh远程登录的用户一样, 例如我们的用户名是root
将公钥添加到gitlab上, 以便于该用于可以拉取代码
在 CI/CD Piplines
中设置 Secret Variables
, 包括 DEPLOY_SERVER
和 SSH_PRIVATE_KEY
其中 SSH_PRIVATE_KEY
的内容是服务器上的私钥, DEPLOY_SERVER
是服务器地址
编写 .gitlab-ci.yml
文件, 注入密钥, 通过ssh
执行远程命令
完整代码
1 | # 使用alpine镜像, 该镜像很少,只有几兆 |