Installation Ansible
====================
$ sudo apt-get install software-properties-common
$ sudo apt-add-repository ppa:ansible/ansible
$ sudo apt-get update
$ sudo apt-get install ansible
In /etc/ansible/ansible.cfg
[defaults]
host_key_checking = false
Préparation des serveurs
========================
Installation des éléments de base
@todo
- ntp
- fail2ban
- apache
- php
- mariadb
Installation Ansistrano
=======================
$ ansible-galaxy install carlosbuenosvinos.ansistrano-deploy carlosbuenosvinos.ansistrano-rollback
Update
If you want to update the role, you need to pass --force parameter when installing. Please, check the following command:
$ ansible-galaxy install --force carlosbuenosvinos.ansistrano-deploy carlosbuenosvinos.ansistrano-rollback
Utilisation
===========
Installer le projet "ansible" depuis git dans le repertoire home de l'utilisateur "deploy"
Créer la clé publique pour l'utilisateur "deploy"
$ ssh-keygen -t rsa
$ cp -v ~/.ssh/id_rsa.pub ~/ansible/files/authorized_keys.deploy.pub
Sur chaque serveur préparer l'utilisateur et le vhost
$ ansible-playbook -i {inventory} base/user-deploy.yml --become -k --ask-become-pass --user={first user create on install}
Vérification du vhosts pour les projets web
$ ansible-playbook -i {inventory} base/vhosts.yml
Filtrer pour executer sur un seul host
$ ansible-playbook -i {inventory} -l 192.168.0.0 playbook.yml
Gestion d'un projet
-----------------------
Récupération de la branch "master" du projet dans /home/vhosts/deploy/export
Deploying
$ ansible-playbook -i hosts -e "ansistrano_release_version=`date -u +%Y%m%d%H%M%SZ`" deploy.yml
Rolling back
$ ansible-playbook -i hosts rollback.yml