Doc

Documentation

site proposant des templates Ansible

Ansible Galaxy

bonne pratique :

tasks:
 
  - name: creation d'un dossier
    file:
      path: /tmp/toto
      state: directory
      mode: 0644

mauvaise pratique :

tasks:
 
  - name: creation d'un dossier
    shell: mkdir -p /tmp/toto

bonne pratique :

bddsvr1 ansible_host=@IP1 ou NDD
bddsvr2 ansible_host=@IP2 ou NDD
bddsvr3 ansible_host=@IP3 ou NDD

websvr1 ansible_host=@IPA ou NDD
websvr2 ansible_host=@IPB ou NDD
websvr3 ansible_host=@IPC ou NDD
 
[bddsvr]
bddsvr[1:3]
 
[websvr]
web[1:3]
 
[dpreprod]
bddsvr2
websvr2

mauvaise pratique :

@IP1
@IP2

NDD1
NDD2

bonne pratique :

- name: install prog
  yum:
    name: prog-
    state: present
    update_cache: yes
    disable_gpg_check: yes
    enablerepo: le-repo
    notify: restart prog
 
- name: configure prog
  template:
    src: prog.conf.j2
    dest: /etc/prog/prog.conf
    notify: restart prog
 
- name: start prog
  service:
    name: prog
    state: started
    enabled: yes

mauvaise pratique :

- name: install prog
  yum: name: prog- state: present update_cache: yes disable_gpg_check: yes enablerepo: le-repo notify: restart prog
 
- name: configure prog
  template: src: prog.conf.j2 dest: /etc/prog/prog.conf notify: restart prog
 
- name: start prog
  service: name: prog state: started enabled: yes

bonne pratique :

- name: Clone du repo git
  host: bddsvr
  vars:
    user_home: /home/
    user_ssh: "/.ssh"
    deploy_key: "/id_rsa"
    monprojet_dest: "/monprojet"
  tasks:
    - name: creation du rep ssh
      file:
        state: directory
        path: ""
 
    - name: copie de la clé ssh
       copy:
         src: files/deploy_key
         dest: ""
 
     - name: Clone du repo git
       git:
         dest: ""
         key_file: ""
         repo: git@github.com:monprojet/monprojet.git
         accept_hostkey: yes
         clone: yes

bonnes pratiques :

- name: ajout utilisateur
  user:
    name: toto
    state: present
 
- name: installer apache
  yum:
    name: httpd
    state: latest
 
- name: demarrer apache
  service:
    name: httpd
    state: started
    enabled: yes

mauvaise pratique :

- name: ajout utilisateur
  command: useradd toto
 
- name: installer apache
  command: yum install httpd
 
- name: demarrer apache
  shell: |
    service httpd start && chkconfig httpd on