Premiers pas sur Git et Ansible
J’ai eu l’occasion de découvrir Git et Ansible via une formation interne. (merci Cédric!)
-
Git
Crée un compte sur Github ou sur une instance en local
Une fois le compte validé,crée son premier projet, le mien sera “update_security_centos”.
Importez ensuite sa clé public.
Aller dans Settings / Profile / SSH and GPG keys
.
Installer le paquet Git sur sa machine
1 |
$ sudo apt install git |
Puis se rendre dans le projet fraîchement crée sur Github et le cloner.
1 |
$ git clone git@github.com:BEFA13/projet_ansible.git |
Le dépôt est vide, on va créer sa structure.
En détail
inventories:
roles:
roles/security_update_centos:
roles/security_update_centos/defaults:
roles/security_update_centos/tasks:
yml:
-
Ansible
Installation d’Ansible
http://docs.ansible.com/ansible/latest/intro_installation.html
Pour Ubuntu (16.04)
1 2 3 4 5 |
$ sudo apt-get update $ sudo apt-get install software-properties-common $ sudo apt-add-repository ppa:ansible/ansible $ sudo apt-get update $ sudo apt-get install ansible |
Quelques commandes
https://fr.wikipedia.org/wiki/Git git init crée un nouveau dépôt ; |
Avant d’aller plus loin, un peu de conf manuel
Pour mettre de la couleur
1 |
~/projet_ansible$ git config color.ui true |
Pour recevoir les notifications par émail
1 |
~/projet_ansible$ git config user.email monadresse_email@domaine.tld |
Pour afficher le nom de la personne
1 |
~/projet_ansible$ git config user.name "BEF" |
Pour sélectionner l’éditeur de texte (vim; nano, emacs ..)
1 |
~/projet_ansible$ git config core.editor vim |
Pour vérifier la config ci dessus (~/projet_ansible$ cat .git/config ou la commande ci dessous)
1 |
~/projet_ansible$ git config --list |
1 2 3 4 5 6 7 8 9 10 11 12 |
core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true core.editor=vim remote.origin.url=git@github.com:BEFA13/projet_ansible.git remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* branch.master.remote=origin branch.master.merge=refs/heads/master color.ui=true user.email=monadresse_email@domaine.tld user.name=BEF |
Création des fichiers, depuis le répertoire projet_ansible.
1 |
~/projet_ansible$ vim roles/security_update_centos/tasks/main.yml |
Dans le fichiers main.yml, on fait appel au fichier config.yml
1 |
~/projet_ansible$ vim roles/security_update_centos/tasks/config.yml |
Dans le fichier config.yml, on reprend les directives du module “Manages packages with the yum package manager”
Une fois les fichiers crées, on fait un status pour voir quel sont les modifications.
1 |
~/projet_ansible$ git status |
Puis on add les fichiers modifiés en rouge.
1 |
~/projet_ansible$ git add roles |
On refait un status et on voit que les fichiers sont passés en vert, ils sont prêts a être poussés.
1 |
~/projet_ansible$ git status |
Faire un commit des fichiers a pousser.
la fenêtre de l’éditeur va s’ouvrir et vous invite a laisser un message sur les modification apportés, puis enregistrer.
1 |
~/projet_ansible$ git status |
Si on fait un git log, on a le commit, l’auteur, la date et le commentaire.
1 |
~/projet_ansible$ git log |
Puis on pousse les modifications.
/!\ Sur ce tuto, je fais un test, mais la bonne pratique est de ne jamais pousser avec la branche master.
il faut utiliser une autre branch (avec un git chechout -b nom_de_la_branche) afin qu’après relecture, la branche master puisse être utilisé après validation. |
1 |
~/projet_ansible$ git push origin master |
1 2 3 4 5 6 7 |
Décompte des objets: 7, fait. Delta compression using up to 8 threads. Compression des objets: 100% (4/4), fait. Écriture des objets: 100% (7/7), 554 bytes | 0 bytes/s, fait. Total 7 (delta 0), reused 0 (delta 0) To git@github.com:BEFA13/projet_ansible.git * [new branch] master -> master |
Sur la page github, il affiche bien un commit pousser
Les modules disponibles:
http://docs.ansible.com/ansible/latest/modules_by_category.html
Hello
Je viens de faire également des formations internes sur GIT et Ansible ( formation docker prochainement ), et j’avoue que j’ai bien accroché sur Ansible.
Je commence mes premiers petits playbooks pour configurer mes VPS, j’espère évoluer rapidement dessus.
kenavo !
Salut,
C’est tellement vieux cet article, limite obsolète !
C’est cool que tu touches a Ansible, c’est très puissant et on trouve de la doc facilement
Hésite pas à mettre tes playbooks sur ton git