我在存储库下创建了一个 bitbucket 管道,并生成了 SSH 密钥并更新了主机中的authorized_keys文件。交付部分由 rsync 承载,在部署阶段我收到以下错误。
rsync -zrSlh --stats --exclude-from=deployment-exclude-list.txt $BITBUCKET_CLONE_DIR/ $DEPLOY_USER@$DEPLOY_HOST:$DEPLOY_PATH;
Host key verification failed.
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(235) [sender=3.1.2]
我的bitbucket-pipelines.yml如下,
image: php:7.2.1-fpm
pipelines:
default:
- step:
caches:
- composer
script:
- apt-get update
- apt-get install git -y
- export APP_ENV=testing
- curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
- composer install
- step:
name: Deploy to test
deployment: test
script:
- apt-get update
- apt-get install ssh -y
- apt-get install rsync -y
- rsync -zrSlh --stats --exclude-from=deployment-exclude-list.txt $BITBUCKET_CLONE_DIR/ $DEPLOY_USER@$DEPLOY_HOST:$DEPLOY_PATH;
根据文档,这个yml应该可以工作,但是我得到了上述错误,非常感谢和欢迎您的帮助。
这为我解决了:
- 浏览到
https://bitbucket.org/your-org/your-app/admin/addon/admin/pipelines/ssh-keys
- 在已知主机下,输入您的应用域,说
myapp.com
,然后点击Fetch
- 等待指纹被检索,然后点击
Add
主机地址和指纹将添加到该部分的底部
设置> ssh 键
添加您的远程服务器主机/IP 号码,获取并保存指纹。
请参阅步骤 2 https://confluence.atlassian.com/bitbucket/use-ssh-keys-in-bitbucket-pipelines-847452940.html