向私有gitlab repo动态添加和删除ssh密钥
我需要由gitlab-ci.yml(运行ubuntu14.04)创建的VM来安装packer,然后访问并下载我的整个私有gitlab repo,或者从该repo中下载一个单独的文件 首先,我尝试在创建容器和vm的脚本中创建一个ssh密钥,然后将.pub远程添加到gitlab repo中。但是,我忘记了新创建的容器在构建完成后会被丢弃。这意味着每次创建容器时都会生成新的密钥向私有gitlab repo动态添加和删除ssh密钥,gitlab,gitlab-ci,packer,Gitlab,Gitlab Ci,Packer,我需要由gitlab-ci.yml(运行ubuntu14.04)创建的VM来安装packer,然后访问并下载我的整个私有gitlab repo,或者从该repo中下载一个单独的文件 首先,我尝试在创建容器和vm的脚本中创建一个ssh密钥,然后将.pub远程添加到gitlab repo中。但是,我忘记了新创建的容器在构建完成后会被丢弃。这意味着每次创建容器时都会生成新的密钥 我是否可以动态地向私有GitLab repo添加和删除密钥?要使用GitLab CI Docker容器中的SSH密钥访问Gi
我是否可以动态地向私有GitLab repo添加和删除密钥?要使用GitLab CI Docker容器中的SSH密钥访问GitLab服务器上的其他存储库,请执行以下操作:
- 生成SSH密钥对(一次)
- 将公钥添加为应授予该密钥访问权限的每个位置
- 通过执行以下操作将密钥注入容器:
- 将私钥添加为名为
SSH\u private\u key
- 将以下内容添加到
文件中的.gitlab ci.yml
前脚本中
- 将私钥添加为名为
- 将GitLab服务器SSH主机密钥注入容器:
- 将主机密钥添加为名为
GITLAB\u host\u key的秘密变量
- 将以下内容添加到
文件中的.gitlab ci.yml
前脚本中
- 将主机密钥添加为名为
在脚本之前:
#添加SSH私钥和GitLab服务器主机密钥
-eval$(ssh代理-s)
-ssh add>/root/.ssh/known_hosts
要使用GitLab CI Docker容器中的SSH密钥访问GitLab服务器上的其他存储库,请执行以下操作:
- 生成SSH密钥对(一次)
- 将公钥添加为应授予该密钥访问权限的每个位置
- 通过执行以下操作将密钥注入容器:
- 将私钥添加为名为
SSH\u private\u key
- 将以下内容添加到
文件中的.gitlab ci.yml
前脚本中
- 将私钥添加为名为
- 将GitLab服务器SSH主机密钥注入容器:
- 将主机密钥添加为名为
GITLAB\u host\u key的秘密变量
- 将以下内容添加到
文件中的.gitlab ci.yml
前脚本中
- 将主机密钥添加为名为
在脚本之前:
#添加SSH私钥和GitLab服务器主机密钥
-eval$(ssh代理-s)
-ssh add>/root/.ssh/known_hosts
这就是我最终得到的结果(只是刚刚解决了它)。谢谢你,伙计!不客气。记住,对任何有帮助的答案都要投赞成票,并接受最能回答你问题的答案。这正是我最终得到的答案(只是刚刚解决了它)。谢谢你,伙计!不客气。记住对任何有帮助的答案都要投赞成票,并接受最能回答你问题的答案。
before_script:
# Add SSH private key and GitLab server host key
- eval $(ssh-agent -s)
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- mkdir -p /root/.ssh
- echo "$GITLAB_HOST_KEY" >> /root/.ssh/known_hosts