前沿追踪|GitLabCI/CD自动集成和部署到远程服务器( 三 )


在这里 , 我生成SSH RSA密钥
ssh-keygen -t rsa -b 4096 -C "example"-C如果您有多个标记并想知道是哪个标记 , 则该标志会在键中添加注释 。 它是可选的 。
之后 , 我们需要复制私钥(该私钥将用于连接到我们的服务器) , 以便能够自动化我们的部署过程:
# Copy the content of public key to authorized_keyscat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys使用以下命令显示的内容id_rsa并复制它:
cd .ssh && cat id_rsa

  • 转到GitLab UI边栏>设置> CI/CD>变量>展开
  • 添加一个名为SSH_PRIVATE_KEY的变量 , 然后在“值”字段中 , 粘贴刚从服务器复制的私钥(如果是AWE EC2 , 它将是/.pem文件的内容)

前沿追踪|GitLabCI/CD自动集成和部署到远程服务器添加部署密钥部署密钥允许对服务器上克隆的存储库进行只读或读写(如果启用)访问 。
  • 转到GitLab UI边栏>设置>存储库>部署密钥>扩展
  • 创建标题 , 然后在“ **密钥”**字段中粘贴现有内容id_rsa.pub
cd .ssh && cat id_rsa.pub
前沿追踪|GitLabCI/CD自动集成和部署到远程服务器编写YAML文件:
before_script:默认情况下 , alpine不附带SSH客户端 。 这就是为什么我使用alpine软件包管理器添加SSH客户端的原因 。 如果您在运行程序注册或YAML配置中未使用alpine , 则必须根据自己的Linux系统更改命令 。
前沿追踪|GitLabCI/CD自动集成和部署到远程服务器#DevOps# #持续交付# #持续集成# #cicd# #GitLabCI#