CICD

Articles in 'CICD'

The importance of the methodology over the tools

The importance of the methodology over the tools

Some months ago, I’ve made a series of articles about the misbrands, a collection of brands logos derivations that put a name onto the logo of a competitor product. They were really fun for me and I’ve put some on my work laptop. Curiously, it took some times to have somebody noticing the wrongness of these pictures. Ubuntu with Debian logo - license CC-0 Some purists didn’t like these images, but it was for me a nice opportunity to explain one of my work principles.

- 6 minutes read time

act for testing Github Action locally

act for testing Github Action locally

Following my previous article about GitHub Actions, here is a new one that will explain how to locally test your Actions. Unlike the good old Jenkins on which you can copy/paste your pipeline code in a test job and run it (that’s dirty but it works), GitHub Actions requires to always commit and push your changes and wait for the runner to take it. When you’re like me and using a die and retry development process, it’s a waste of time.

- 7 minutes read time

Github Actions

Github Actions

GitHub Actions is a Continuous Integration, Delivery, and Deployment workflow manager made by the code repository hosting service GitHub. GitHub was a little late in the CI/CD pipeline management compared to its competitor GitLab and the good old Jenkins. After a beta testing period, the service opened in 2018. GitHub Actions is fully integrated with the service, accessible via the “Actions” tab on a repository (if the owner enabled it). The workflows are written in YAML with a declarative language describing the event triggering the pipeline, the runner kind, some environment-related informations, and the jobs definitions.

- 6 minutes read time

Blog avec Hugo et publication automatisée

Blog avec Hugo et publication automatisée

Après avoir mis en place mon nouveau blog avec le générateur Hugo, il m’avait fallu voir comment automatiser la publication. En effet, Hugo génère dans un dossier public/ les pages web statiques et celles-ci doivent être déposées sur un serveur web pour les présenter. Voici donc ce que j’ai construit rapidement pour qu’une publication soit aussi simple qu’un git commit; git push. Les outils Voici les outils utilisés, j’avais d’ores et déjà ceux-ci à disposition.

- 8 minutes read time

Ansible : Utiliser ses API avec Python

Ansible : Utiliser ses API avec Python

Ansible : Utiliser ses API avec Python Depuis quelques temps j’ai enfin trouvé des idées de petits outils à développer avec Python pour pouvoir apprendre à manipuler ce langage. Utilisant beaucoup Ansible de manière professionnelle (je vous invite à lire la serie de billets écrite à ce sujet si ce n’est déjà fait), et celui-ci étant développé en Python, je m’appuie dans notre contexte sur nos inventaires pour fournir diverses informations à d’autres systèmes ou encore à des utilisateurs.

- 3 minutes read time

Ansible - Quelques bonnes pratiques

Ansible - Quelques bonnes pratiques

Et voici le dernier article de cette série consacrée à l’outil de déploiement Ansible. Vous y trouverez essentiellement des ressources utiles, bonnes pratiques acquises avec l’expérience, etc. Bonnes pratiques et ressources Quelques bonnes pratiques La documentation officielle Ansible en propose une très bonne liste. Nous allons en reprendre quelques unes ici. J’ajouterai également celles apprises avec l’expérience. Organisation de l’arborescence Ansible recommande deux versions, personnellement j’applique celle-ci : ./ inventories/ production/ hosts # le fichier d'inventaire group_vars/ group1.

- 5 minutes read time

Ansible - Les rôles

Ansible - Les rôles

Pour cette quatrième partie, nous nous intéressons aux rôles Ansible. Les rôles Ansible Les rôles partagent de nombreux points communs avec les playbooks. En effet, ils utilisent les mêmes instructions et le même code déclaratif. La principale différence est qu’il s’agit d’un ensemble structuré de fichiers et de dossiers qui contiendront chacun une liste d’action précise. Un rôle Ansible est constitué d’une hiérarchie de sous dossiers dans laquelle Ansible sait qu’il va trouver ce qu’il doit faire.

- 8 minutes read time

Ansible - Un premier playbook

Ansible - Un premier playbook

Troisième partie consacrée à l’outil Ansible, nous allons attaquer l’écriture et l’exécution de playbooks. Un premier playbook Nous avons pas mal parlé des exécutions ad hoc d’Ansible permettant de lancer unitairement un module et obtenir le résultat. Les Playbooks ont pour intérêt d’écrire un scénario complet d’exécution de plusieurs modules avec des conditions et des critères de succès/échec et des actions selon l’évènement déclenché. Les playbooks sont écrits en YAML et utilisent un langage déclaratif simple propre à Ansible.

- 5 minutes read time

Ansible - L'Inventaire

Ansible - L'Inventaire

Deuxième partie de la série consacrée à Ansible. Cette fois nous parlerons plus en détail de l’inventaire, à quoi ça sert, comment l’organiser, comment l’exploiter, etc. L’inventaire Ansible L’inventaire est la liste de hosts qu’Ansible est capable de gérer. Il peut se définir de deux façons : sous forme INI ou bien en YAML. L’inventaire par défaut est celui situé dans /etc/ansible/hosts, mais celui-ci peut être un fichier appelé à la volée.

- 6 minutes read time

Ansible

Ansible

Changeons de sujet par rapport à mes précédents articles. Travaillant dans le domaine de l’intégration et déploiement continu (CICD), j’ai eu envie de faire découvrir des outils que j’utilise au quotidien. Le premier est Ansible, un outil de déploiement que j’affectionne particulièrement. Ce premier article sur Ansible vous présentera son histoire, ses concepts, ses principes, et les commandes. Introduction Ansible est un outil d’automatisation et de déploiement créé en février 2012 par Michael DeHaan.

- 13 minutes read time