天天看點

Ansible-playbook 之 loops 循環一

    ansible 提供的loops 循環可以有效的提高工作效率,比方說需要建立多個使用者,之前需要建立多個task,現在使用loops 可以快速完成。

标準loops 循環:下面是官方給的參考,參考連結 http://docs.ansible.com/ansible/latest/playbooks_loops.html#standard-loops

- name: add several users

  user:

    name: "{{ item }}"

    state: present

    groups: "wheel"

  with_items:

     - testuser1

     - testuser2

備注:複制上面的代碼,直接執行是不成功的,剛學loops 循環 直接運作無論如何也不能成功,遇到了很多坑。

需要改寫如下:

執行 stands.yml  ansible-playbook stands.yml

執行效果如下

檢視使用者是否建立成功

 ansible web -m shell -a "id tsetuser1"

使用者建立成功

實戰示範: 使用loops 循環安裝PHP

關于 yum 子產品的其他用法,以httpd 為列

 name: 安裝最新版本的apache

  yum: name=httpd state=latest

- name: 移除apache

  yum: name=httpd state=absent

- name: 安裝一個特殊版本的apache

  yum: name=httpd-2.2.29-1.4.amzn1 state=present

- name: 更新所有的軟體包

  yum: name=* state=latest

- name: 從一個遠端yum倉庫安裝nginx

  yum: name=http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm state=present

- name: 從本地倉庫安裝nginx

  yum: name=/usr/local/src/nginx-release-centos-6-0.el6.ngx.noarch.rpm state=present

- name: 安裝整個Development tools相關的軟體包

  yum: name="@Development tools" state=present

執行 ansible-playbook yum_install_php.yml

執行過程如下

檢查php 是否安裝成功

 ansible web -m shell -a "php -v "

PHP 安裝成功

本文轉自 水滴石川1 51CTO部落格,原文連結:http://blog.51cto.com/sdsca/2060112,如需轉載請自行聯系原作者