Note
Cette action GitHub ne prend pas encore en charge les projets CircleCI intégrés à l'application CircleCI GitHub. Si l'URL de votre projet CircleCI ressemble à ceci : https://app.circleci.com/projects/organizations/circleci% , vous intégrez l'application CircleCI GitHub et cette action GitHub n'est pas encore prise en charge. Contactez [email protected] pour toute question/commentaire. Si l'URL de votre projet CircleCI ressemble à ceci : https://app.circleci.com/projects/project-dashboard/github/ , vous utilisez l'intégration de l'application OAuth de CircleCI et cette action GitHub est prise en charge.
Déclenchez vos pipelines CircleCI à partir de n'importe quel événement sur GitHub avec GitHub Actions.
Créez un workflow d'action GitHub pour le pipeline CircleCI souhaité.
Pour ce faire, ajoutez un fichier YAML de workflow (nous utiliserons main.yml ) à ./.github/workflows .
Un déclencheur release est illustré dans cet exemple. Essayez l'un des événements GitHub pour déclencher des flux de travail : https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows
Sélectionnez un nom et un identifiant personnalisés pour l'étape des métadonnées contextuelles supplémentaires dans votre pipeline CircleCI
sur : version : types : [publié] travaux : trigger-circleci : exécution : ubuntu-dernières étapes :
- nom : <nom personnalisé> identifiant : <identifiant personnalisé> utilise : CircleCI-Public/[email protected] env : CCI_TOKEN : ${{ secrets.CCI_TOKEN }} Créez un secret chiffré nommé CCI_TOKEN contenant le jeton API personnel qui sera utilisé pour déclencher les pipelines. Il est suggéré d'être un utilisateur de machine.
Ajoutez les définitions des paramètres de pipeline à votre configuration CircleCI. Ces données seront saisies par l'action GitHub lorsqu'elle sera déclenchée.
Ajoutez ce qui suit en haut de votre fichier .circleci/config.yml . Assurez-vous de spécifier la version 2.1
version : 2.1paramètres : GHA_Actor : type : chaîne par défaut : "" GHA_Action : type : chaîne par défaut : "" GHA_Event : type : chaîne par défaut : "" GHA_Meta : type : chaîne par défaut : ""
Utilisez les données des paramètres de pipeline pour exécuter des workflows de manière conditionnelle.
Voir : Exemples
Paramètres d'entrée facultatifs qui vous permettent de spécifier des métadonnées supplémentaires.
obligatoire : faux
description : Un paramètre de métadonnées supplémentaire facultatif. Sera disponible sur le pipeline CircleCI sous le nom de GHA_Meta.
emplois : trigger-circleci : exécution : ubuntu-dernières étapes :
- nom : <nom de personnalisation> id : <identifiant de personnalisation> utilise : CircleCI-Public/[email protected] avec : GHA_Meta : "<données personnalisées>" env : CCI_TOKEN : ${{ secrets.CCI_TOKEN }}obligatoire : faux
description : Le slug du projet CircleCI du projet cible (ex : github/<org>/<repo> ). S'il n'est pas spécifié, le slug du référentiel GitHub actuel sera utilisé.
jobs : trigger-circleci : exécution : ubuntu-dernières étapes :
- nom : <nom personnalisé> id : <identifiant personnalisé> utilise : CircleCI-Public/[email protected] avec : target-slug : "gh/<org>/<repo>" # Déclenchera le pipeline pour l'environnement de projet externe : CCI_TOKEN : ${{ secrets.CCI_TOKEN }}| Champ | Type de données | Description |
|---|---|---|
id | chaîne (uuid) | L’ID unique du pipeline. |
state | chaîne (Enum : "créé" "erreur" "installation en attente" "installation" "en attente") | L'état actuel du pipeline. |
number | entier (int64) | Le numéro du pipeline. |
created_at | chaîne (date-heure) | La date et l'heure de création du pipeline. |
Par défaut, lorsqu'un référentiel est connecté à CircleCI, si les flux de travail dans la configuration de ce projet ne spécifient aucune condition ou filtre qui empêcherait autrement l'exécution, le flux de travail s'exécutera par défaut à chaque événement push .
Cela peut signifier qu'il est possible d'exécuter accidentellement une tâche deux fois, une fois sur l'événement push de CircleCI, ainsi que sur d'autres événements déclenchés par l'action GitHub.
Si vous comptez sur les actions GitHub pour fournir tous vos déclencheurs d'API, assurez-vous que chacun des flux de travail de votre configuration CircleCI contient une condition limitant son exécution au seul déclencheur d'action GitHub.
Exemple
workflows : # Ce workflow est configuré pour être déclenché sous condition, # uniquement via l'action GitHub. # En l'absence d'autres flux de travail non filtrés, les événements push normaux seront ignorés. test : quand : << pipeline.parameters.GHA_Action >> tâches :
- test