Skip to main content

Intégration d'Ansible avec GitHub Actions

Intégration Continue avec GitHub Actions

Pour intégrer Ansible à votre flux de travail GitHub, suivez ces étapes :

1. Configuration d'un Runner sur le Répertoire Git

git clone ....  # Clonez votre dépôt Git

Dans le répertoire Git, copiez les fichiers que nous avons créés précédemment :

  • Ansible.cfg
  • etc/hosts
  • playbooks/recette.yml

Créez également un runner dans le répertoire du dépôt.

2. Exemple de Workflow GitHub

Créez un fichier .github/workflows/tp.yml pour définir le flux de travail GitHub. Voici un exemple :

name: Déploiement du Projet Ansible

on:
push:
branches:
- master
workflow_dispatch:

jobs:
build:
runs-on: self-hosted
steps:
- name: Checkout Repository
uses: actions/checkout@v2

- name: Copier les fichiers Ansible au bon emplacement
run: |
mkdir -p /home/student/ansible
rsync -av --delete -P ansible/* /home/student/ansible

- name: Déployer le Projet Ansible
working-directory: /home/student/challenge-s08-e01-bis-sameddemet/ansible
run: |
ansible-playbook playbooks/recette.yml

La ligne rsync -av --delete -P ansible/* /home/student/ansible synchronise le répertoire ansible local avec celui de GitHub. Même si le déploiement est effectué manuellement depuis GitHub, les répertoires restent synchronisés, ce qui est pratique.

Ces étapes garantissent l'intégration continue d'Ansible avec votre dépôt GitHub à chaque modification sur la branche master ou lors d'un déclenchement manuel.