小编Pre*_*ura的帖子

如何在ansible中的特定主机上运行特定任务

我的库存文件的内容 -

[webservers]
x.x.x.x ansible_ssh_user=ubuntu

[dbservers]
x.x.x.x ansible_ssh_user=ubuntu
Run Code Online (Sandbox Code Playgroud)

在我的任务文件中,它是共同的角色,即它将在两台主机上运行,​​但我想在主机Web服务器上运行以下任务,而不是在库存文件中定义的dbservers中运行

- name: Install required packages
  apt: name={{ item }} state=present
  with_items:
    - '{{ programs }}'
  become: yes
  tags: programs
Run Code Online (Sandbox Code Playgroud)

模块有用还是有其他方法?我怎么能这样做?

ansible ansible-playbook

18
推荐指数
3
解决办法
3万
查看次数

通过Ansible从AWS S3存储桶中获取整个存储桶或多个对象

据我所知,Ansible的S3模块,它只能立刻得到一个对象.

我的问题是,如果我想一次从S3存储桶下载/获取整个存储桶或多个对象,该怎么办?有什么黑客攻击吗?

amazon-s3 ansible

6
推荐指数
2
解决办法
7407
查看次数

从 Ansible 变量输出中删除引号

我正在使用此任务向文件添加一行:

lineinfile: "dest={{ ansible_env.HOME }}/{{ deploy_dir }}/config/deploy/{{ stage_name }}.rb
              insertbefore='# role-based syntax'
              line='server "'{{ ip_addr }}'", user: "'{{ user_name }}'", roles: %w{'{{ role }}'}'"
Run Code Online (Sandbox Code Playgroud)

其中添加了这一行:

server '172.16.8.11', user: 'vagrant', roles: %w{'api'}
Run Code Online (Sandbox Code Playgroud)

但我不想要周围的引号api。相反,我想要这个输出:

server '172.16.8.11', user: 'vagrant', roles: %w{api}
Run Code Online (Sandbox Code Playgroud)

automation yaml configuration-management jinja2 ansible

2
推荐指数
1
解决办法
1万
查看次数