![](/img/trans.png)
[英]Jenkins ansible-playbook aws_ec2 unrecognized arguments: secret file error
[英]AnsibleFileNotFound error during Ansible playbook execution via AWS SSM
我压缩了一个 Ansible 剧本和一个配置文件,将 .zip 文件推送到 S3,然后我从 AWS SSM 触发了 Ansible 剧本。
我收到AnsibleFileNotFound
错误: AnsibleFileNotFound: Could not find or access '/path/to/my_file.txt' on the Ansible Controller.
这是我的剧本:
- name: Copies a configuration file to a machine.
hosts: 127.0.0.1
connection: local
tasks:
- name: Copy the configuration file.
copy:
src: /path/to/my_file.txt
dest: /etc/my_file.txt
owner: root
group: root
mode: '0644'
become: true
my_file.txt
存在于我上传到 S3 的 .zip 文件中,并且我已经验证它正在被提取(通过 AWS SSM 输出)。 为什么我不能复制那个文件? 我需要做什么才能让 Ansible 将此文件保存到目标机器上的/etc/
?
编辑:
remote_src: true
是有意义的,因为 .zip 文件可能被 AWS SSM 解压到目标机器上的某个地方。 问题是它被解压到一个随机的临时目录,所以无论如何都找不到该文件。这里的解决方案有点可怕:
remote_src
必须为true
。 是的,这是您上传到 S3 的文件,但 Ansible 还不够聪明,无法在这种情况下知道这一点。 所以使用src: "{{ playbook_dir | dirname }}/path/to/my_file.txt"
解决了这种情况下的问题。
请注意,如果配置文件包含机密,则不应使用此方法,但我不确定当您将它与 Ansible 结合使用时,AWS SSM 为此类场景提供了何种方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.