Tom*_*lby 9 ssh continuous-integration yaml gitlab
这是我关于 gitlab ci 的 ssh 的 yaml 文件的一部分:
eval $(ssh-agent -s)
echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
mkdir -p ~/.ssh
chmod 700 ~/.ssh
'[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
Run Code Online (Sandbox Code Playgroud)
当我尝试将SSH_PRIVATE_KEY变量设置为受保护状态时,出现错误:
加载键“(stdin)”时出错:格式无效
我不知道为什么当我将SSH_PRIVATE_KEY变量设置为不受保护状态时就可以了
Arn*_*rdt 12
对我来说它也失败了,因为SSH_PRIVATE_KEY标记为“受保护”,但我使用的标签却没有。
因此,要么使您正在使用的分支或标签也受到保护,要么从SSH_PRIVATE_KEY变量中删除“受保护”设置。
请参阅:https ://gitlab.com/help/ci/variables/README#create-a-custom-variable-in-the-ui
保护变量(可选):如果选择,该变量将仅在受保护的分支或标签上运行的管道中可用。
这是因为您将 SSH_PRIVATE_KEY 设置为格式错误。我的建议是在变量中使用base64编码值
cat ~/.ssh/id_ras | base64 -w0
Run Code Online (Sandbox Code Playgroud)
将此值添加到您的 gitlab ci 变量,然后添加到您的 gitlab.ci.yml 中
ssh-add <(echo "$SSH_PRIVATE_KEY" | base64 -d)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10587 次 |
| 最近记录: |