【发布时间】:2017-09-16 15:03:30
【问题描述】:
我知道这里有一个相关问题:Invoke Ansible playbook in Jenkins
但这个问题在某些方面与那个问题不同:
所以我在单个服务器(EC2 实例)中安装了 Jenkins 和 Ansible。我创建了一个 playbook.yml,它将文件从这个服务器复制到另一个服务器。如果我使用 ec2-user 执行 ansible-playbook playbook.yml,这是成功的。
如果我尝试使用 Jenkins 也是如此(创建了一个项目并添加了一个构建步骤作为运行 ansible playbook 并提到了 playbook.yml 的位置并作为 sudo ec2-user 运行)。这失败并出现错误:
fatal: [172.xx.xx.xx]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: no such identity: /home/ec2-user/.ssh/Host_Keypair.pem: Permission denied\r\nPermission denied (publickey).\r\n", "unreachable": true}
to retry, use: --limit @/var/lib/jenkins/workspace/Ansible/copy.retr
playbook.yml:
---
- hosts: 172.xx.xx.xx
remote_user: ec2-user
become: yes
become_method: sudo
tasks:
- copy:
src: /var/lib/jenkins/workspace/Ansible/myfile.conf
dest: /etc/myfile.conf
owner: ec2-user
group: ec2-user
mode: 0644
我被困在这个问题上,不执行这个就无法进入下一步。谁能帮我解决我缺少的其他配置(可能在詹金斯方面)。任何帮助将不胜感激。
【问题讨论】:
标签: jenkins amazon-ec2 ansible