通过CircleCI-2.0使用Ansible部署Docker容器。
方法
已使用CircleCI-2.0创建并添加了私钥。 UI。
.circle / config.yml
version: 2
jobs:
build:
docker:
- image: ubuntu:xenial
working_directory: ~/project
结果
在以下位置运行ansible结果:
Failed to connect to the host via ssh: Warning: Permanently added
Permission denied (publickey,password)
讨论
假定这些键将存储在〜/ .ssh中,但这似乎是空的。
您的目标主机是否接受此密钥(在手动尝试时)?
是。使用
ssh root@host -i key
登录成功。您在容器中使用同一用户吗?
是。从CircleCI-2.0起,手动使用了
root
用户。结论
总而言之,问题是CircleCI-2.0在哪里存储已提交的私钥使用UI?
~/.ssh
目录为空。#1 楼
我仍然不知道您的config.yml
如何在没有步骤的情况下启动ansible。这是我的发现,但我不确定这是您的追求,但这对于发表评论太久了。 根据此处的文档,您必须添加带有用户界面中看到的密钥指纹的
add_ssh_keys
。- add_ssh_keys:
fingerprints:
- "48:a0:87:54:ca:75:32:12:c6:9e:a2:77:a4:7a:08:a4"