以下代码来自我的.gitlab-ci.yml文件中的部署阶段。
deploy_website:
stage: deploy
artifacts:
paths:
- public
before_script:
- "command -v ssh-agent >/dev/null || ( apk add --update openssh )"
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d 'r' | ssh-add -
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- pwd && ls
- ssh-keyscan $VM_IPADDRESS >> ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
script:
# - apk add bash
# - ls deploy
# - bash ./deploy/deploy.sh
- ssh $SSH_USER@$VM_IPADDRESS "hostname && echo 'Welcome!!!' > welcome.txt"
这行";ssh密钥扫描$VM_IPADDRESS>gt;~/。ssh/known_hosts";执行管道时未能运行。
您可以启动和echo $VM_IPADDRESS
来检查IP变量是否正确安装。
"未能运行";
然后取决于错误消息(或者命令是否冻结(
在进行密钥扫描之前,您可以使用以下测试网络路由是否可以从您的GitLab CI运行器访问
curl -v telnet://$VM_IPADDRESS:22
如果它没有立即连接,这将解释ssh-keyscan
失败的原因。