[Linux] Premiers pas sur Git et Ansible

 

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

 

Puis se rendre dans le projet fraîchement crée sur Github et le cloner.

 

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)

 

Quelques commandes

https://fr.wikipedia.org/wiki/Git

git init​ crée un nouveau dépôt ;
git clone​ clone un dépôt distant ;
git add​ ajoute de nouveaux objets blobs dans la base des objets pour chaque fichier modifié depuis le dernier commit. Les objets précédents restent inchangés ;
git commit​ intègre la somme de contrôle SHA-1 d’un objet tree et les sommes de contrôle des objets commits parents pour créer un nouvel objet commit ;
git branch​ liste les branches ;
git merge​ fusionne une branche dans une autre ;
git log​ affiche la liste des commits effectués sur une branche ;
git push​ publie les nouvelles révisions sur le remote. (La commande prend différents paramètres) ;
git pull​ récupère les dernières modifications distantes du projet (depuis le Remote) et les fusionner dans la branche courante ;
git stash​ stocke de côté un état non commité afin d’effectuer d’autres tâches.
git blame nom_du_fichier pour voir qui a modifié le fichier en dernier

 

Avant d’aller plus loin, un peu de conf manuel

Pour mettre de la couleur

Pour recevoir les notifications par émail

Pour afficher le nom de la personne

Pour sélectionner l’éditeur de texte (vim; nano, emacs ..)

Pour vérifier la config ci dessus (~/projet_ansible$ cat .git/config ou la commande ci dessous)

 

Création des fichiers, depuis le répertoire projet_ansible.

 

Dans le fichiers main.yml, on fait appel au fichier 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.

 

Puis on add les fichiers modifiés en rouge.

 

On refait un status et on voit que les fichiers sont passés en vert, ils sont prêts  a être poussés.

 

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.

 

Si on fait un git log, on a le commit, l’auteur, la date et le commentaire.

 

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.

 

Sur la page github, il affiche bien un commit pousser

 

Les modules disponibles:

http://docs.ansible.com/ansible/latest/modules_by_category.html

 

 

No votes yet.
Please wait...

2 thoughts to “[Linux] Premiers pas sur Git et Ansible”

  1. 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 !

    No votes yet.
    Please wait...
    1. 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

      No votes yet.
      Please wait...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.