安装git和apache

首先编写(或直接使用前文编写好的)hosts或inventory文件(假设目标机器IP为192.168.33.10,用户名为vagrant):

[static_page]
192.168.33.10 ansible_ssh_user=vagrant

本用户组名即为static_page。在同层目录下创建名为setup_static_page.yml的文件(playbook):

---
- hosts: static_page
  tasks:
    - name: Ensure git installed
      sudo: yes
      apt:
        name: git
        state: present

    - name: Ensure apache2 installed
      sudo: yes
      apt:
          name: apache2
          state: present

接下来运行该ansible-playbook(保证在前文练习中ansible ping的结果是success的情况下):

ansible-playbook -i hosts setup_static_page.yml

但是很多时候我们会遇到一些error,往往是因为我们忘记了在用apt安装应用之前忘记了执行apt-get update,换成ansible-playbook语言,应该在这两个task之前添加一个task(由于update操作基本执行一次即可,所以添加run_once属性):

- name: Apt update
  run_once: true
  apt:
    update_cache: yes

再次运行该playbook,目标机器上便会安装好git和apache。但是作为一个嗅觉灵敏的程序猿,你以为已经闻到了这段代码的坏味道:对,就是代码重复!我们下小节将去除这种重复。

results matching ""

    No results matching ""