Concourse Lab Creation
Environnement de Test
Exécuter Concourse
Avec Docker-Compose
Ce fichier docker-compose simplifie l'installation pour faire quelques tests avec concourse :
Vous pouvez télécharger la ligne de commande fly
pour votre OS depuis le web à 127.0.0.1:8080
Avec Kubernetes (Recommandé)
Vous pouvez facilement déployer concourse dans Kubernetes (dans minikube par exemple) en utilisant le helm-chart : concourse-chart.
Après avoir généré l'environnement concourse, vous pourriez générer un secret et donner un accès au SA exécuté dans concourse web pour accéder aux secrets K8s :
Création de Pipeline
Un pipeline est composé d'une liste de Jobs qui contient une liste ordonnée de Steps.
Étapes
Plusieurs types d'étapes différents peuvent être utilisés :
l'étape
set_pipeline
configure un pipelinel'étape
load_var
charge une valeur dans une var localel'étape
in_parallel
exécute des étapes en parallèlel'étape
do
exécute des étapes en séquencele modificateur d'étape
across
exécute une étape plusieurs fois ; une fois pour chaque combinaison de valeurs de variablesl'étape
try
tente d'exécuter une étape et réussit même si l'étape échoue
Chaque étape dans un plan de job s'exécute dans son propre conteneur. Vous pouvez exécuter tout ce que vous voulez à l'intérieur du conteneur (c.-à-d. exécuter mes tests, exécuter ce script bash, construire cette image, etc.). Donc, si vous avez un job avec cinq étapes, Concourse créera cinq conteneurs, un pour chaque étape.
Par conséquent, il est possible d'indiquer le type de conteneur dont chaque étape a besoin pour être exécutée.
Exemple Simple de Pipeline
Vérifiez 127.0.0.1:8080 pour voir le flux du pipeline.
Script Bash avec pipeline de sortie/entrée
Il est possible de sauvegarder les résultats d'une tâche dans un fichier et d'indiquer qu'il s'agit d'une sortie, puis d'indiquer l'entrée de la tâche suivante comme la sortie de la tâche précédente. Ce que fait concourse, c'est de monter le répertoire de la tâche précédente dans la nouvelle tâche où vous pouvez accéder aux fichiers créés par la tâche précédente.
Déclencheurs
Vous n'avez pas besoin de déclencher les jobs manuellement à chaque fois que vous devez les exécuter, vous pouvez également les programmer pour qu'ils s'exécutent chaque fois que :
Un certain temps s'est écoulé : Ressource Time
De nouveaux commits sur la branche principale : Ressource Git
Nouvelles PR : Ressource Github-PR
Récupérer ou pousser la dernière image de votre application : Ressource Registry-image
Consultez un exemple de pipeline YAML qui se déclenche sur de nouveaux commits sur master à https://concourse-ci.org/tutorial-resources.html
Dernière mise à jour