安装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。但是作为一个嗅觉灵敏的程序猿,你以为已经闻到了这段代码的坏味道:对,就是代码重复!我们下小节将去除这种重复。