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