À propos de la migration depuis GitLab avec GitHub Actions Importer
Les instructions ci-dessous vous guident tout au long de la configuration de votre environnement pour utiliser GitHub Actions Importer afin de migrer des pipelines GitLab vers GitHub Actions.
Prérequis
-
Un compte GitLab ou une organisation avec des pipelines et des travaux que vous souhaitez convertir en workflows GitHub Actions.
-
Accès pour créer un personal access token GitLab pour votre compte ou organisation.
-
Un environnement dans lequel vous pouvez exécuter des conteneurs basés sur Linux et installer les outils nécessaires.
- Docker est installé et en cours d’exécution.
- L’interface CLI GitHub est installée.
Remarque : Le conteneur GitHub Actions Importer et l’interface CLI n’ont pas besoin d’être installés sur le même serveur que votre plateforme CI.
Limites
Certaines limitations s’appliquent à la migration automatique des processus des pipelines GitLab vers GitHub Actions avec GitHub Actions Importer.
- La mise en cache automatique entre les travaux de différents workflows n’est pas prise en charge.
- La commande
audit
est uniquement prise en charge lors de l’utilisation d’un compte d’organisation. Toutefois, les commandesdry-run
etmigrate
peuvent être utilisées avec une organisation ou un compte d’utilisateur.
Tâches manuelles
Certaines constructions GitLab doivent être migrées manuellement. Il s’agit notamment des paramètres suivants :
- Valeurs de variables de groupe ou de projet masquées
- Rapports d’artefact
Pour plus d’informations sur les migrations manuelles, consultez « Migration de GitLab CI/CD vers GitHub Actions ».
Installation de l’extension CLI GitHub Actions Importer
-
Installez l’extension CLI GitHub Actions Importer :
Bash gh extension install github/gh-actions-importer
gh extension install github/gh-actions-importer
-
Vérifiez que l’extension est installée :
$ gh actions-importer -h Options: -?, -h, --help Show help and usage information Commands: update Update to the latest version of GitHub Actions Importer. version Display the version of GitHub Actions Importer. configure Start an interactive prompt to configure credentials used to authenticate with your CI server(s). audit Plan your CI/CD migration by analyzing your current CI/CD footprint. forecast Forecast GitHub Actions usage from historical pipeline utilization. dry-run Convert a pipeline to a GitHub Actions workflow and output its yaml file. migrate Convert a pipeline to a GitHub Actions workflow and open a pull request with the changes.
Configuration des informations d’identification
La commande CLI configure
est utilisée pour définir les informations d’identification et les options requises pour GitHub Actions Importer lors de l’utilisation de GitLab et de GitHub.
-
Créez un personal access token (classic) GitHub. Pour plus d’informations, consultez « Gestion de vos jetons d'accès personnels ».
Votre jeton doit avoir l’étendue
workflow
.Après avoir créé le jeton, copiez-le et enregistrez-le en lieu sûr en vue de l’utiliser ultérieurement.
-
Créer un personal access token GitLab. Pour plus d’informations, consultez Personal access tokens dans la documentation GitLab.
Votre jeton doit avoir l’étendue
read_api
.Après avoir créé le jeton, copiez-le et enregistrez-le en lieu sûr en vue de l’utiliser ultérieurement.
-
Dans votre terminal, exécutez la commande CLI GitHub Actions Importer
configure
:gh actions-importer configure
La commande
configure
vous invite à entrer les informations suivantes :- Pour « Quels fournisseurs CI configurez-vous ? », utilisez les touches de direction pour sélectionner
GitLab
, appuyez sur Espace pour le sélectionner, puis appuyez sur Entrée. - Pour « Personal access token pour GitHub », entrez la valeur du personal access token (classic) que vous avez créé, puis appuyez sur Entrée.
- Pour « URL de base de l’instance GitHub », entrez l’URL de votre instance GitHub Enterprise Server, puis appuyez sur Entrée.
- Pour « Jeton privé pour GitLab », entrez la valeur du personal access token GitLab que vous avez créé précédemment, puis appuyez sur Entrée.
- Pour « URL de base de l’instance GitLab », entrez l’URL de votre instance GitLab, puis appuyez sur Entrée.
Voici un exemple de sortie de la commande
configure
.$ gh actions-importer configure ✔ Which CI providers are you configuring?: GitLab Enter the following values (leave empty to omit): ✔ Personal access token for GitHub: *************** ✔ Base url of the GitHub instance: https://github.com ✔ Private token for GitLab: *************** ✔ Base url of the GitLab instance: http://localhost Environment variables successfully updated.
- Pour « Quels fournisseurs CI configurez-vous ? », utilisez les touches de direction pour sélectionner
-
Dans votre terminal, exécutez la commande CLI GitHub Actions Importer
update
pour vous connecter au Container registry GitHub Packages et vérifier que l’image conteneur est mise à jour vers la dernière version :gh actions-importer update
La sortie de la commande devrait ressembler à la sortie ci-dessous :
Updating ghcr.io/actions-importer/cli:latest... ghcr.io/actions-importer/cli:latest up-to-date
Effectuer un audit de GitLab
Vous pouvez utiliser la commande audit
pour obtenir une vue d’ensemble de tous les pipelines d’un serveur GitLab.
La commande audit
effectue les étapes suivantes :
- Extrait tous les projets définis dans un serveur GitLab.
- Convertit chaque pipeline en son workflow GitHub Actions équivalent.
- Génère un rapport qui résume la complexité et l’exhaustivité d’une migration avec GitHub Actions Importer.
Prérequis pour la commande d’audit
Pour utiliser la commande audit
, vous devez disposer d’un personal access token configuré avec un compte d’organisation GitLab.
Exécution de la commande audit
Pour effectuer un audit d’un serveur GitLab, exécutez la commande suivante dans votre terminal, en remplaçant my-gitlab-namespace
par l’espace de noms ou le groupe que vous auditez :
gh actions-importer audit gitlab --output-dir tmp/audit --namespace my-gitlab-namespace
Inspection des résultats de l’audit
Les fichiers dans le répertoire de sortie spécifié contiennent les résultats de l’audit. Consultez le fichier audit_summary.md
pour obtenir un résumé des résultats de l’audit.
Le résumé de l’audit comporte les sections suivantes.
Pipelines
La section « Pipelines » contient des statistiques générales concernant le taux de conversion effectué par GitHub Actions Importer.
Vous trouverez ci-dessous quelques termes clés qui peuvent apparaître dans la section « Pipelines » :
- Les pipelines réussis sont ceux dont 100 % des constructions de pipeline et des éléments individuels ont été convertis automatiquement en leur équivalent GitHub Actions.
- Les pipelines partiellement réussis sont ceux dont la totalité des constructions de pipeline ont été converties ; toutefois, certains éléments individuels n’ont pas été convertis automatiquement en leur équivalent GitHub Actions.
- Les pipelines non pris en charge sont des types de définition qui ne sont pas pris en charge par GitHub Actions Importer.
- Les pipelines ayant échoué sont ceux qui ont rencontré une erreur irrécupérable lors de la conversion. Cela peut se produire pour l’une des trois raisons suivantes :
- Le pipeline a été mal configuré à l’origine et n’était pas valide.
- GitHub Actions Importer a rencontré une erreur interne lors de sa conversion.
- Une réponse réseau infructueuse a rendu le pipeline inaccessible, ce qui est souvent dû à des informations d’identification non valides.
Étapes de génération
La section « Étapes de génération » contient une vue d’ensemble des étapes de génération individuelles utilisées dans tous les pipelines ainsi que le nombre d’étapes converties automatiquement par GitHub Actions Importer.
Vous trouverez ci-dessous quelques termes clés qui peuvent apparaître dans la section « Étapes de génération » :
- Une étape de génération connue est une étape qui a été automatiquement convertie en action équivalente.
- Une étape de génération inconnue est une étape qui n’a pas été automatiquement convertie en action équivalente.
- Une étape de génération non prise en charge est une étape qui est :
- Fondamentalement non prise en charge par GitHub Actions.
- Configuré d’une manière incompatible avec GitHub Actions.
- Une action est une liste des actions qui ont été utilisées dans les workflows convertis. Cela peut être important pour :
- Rassembler la liste des actions à synchroniser avec votre instance, si vous utilisez GitHub Enterprise Server.
- Définir une liste d’autorisation au niveau de l’organisation des actions utilisées. Cette liste d’actions est une liste complète d’actions que vos équipes de sécurité ou de conformité peuvent avoir besoin d’examiner.
Tâches manuelles
La section « Tâches manuelles » contient une vue d’ensemble des tâches que GitHub Actions Importer ne peut pas accomplir automatiquement et que vous devez effectuer manuellement.
Vous trouverez ci-dessous quelques termes clés qui peuvent apparaître dans la section « Tâches manuelles » :
- Un secret est un secret au niveau de l’organisation ou du dépôt qui est utilisé dans les pipelines convertis. Ces secrets doivent être créés manuellement dans GitHub Actions pour que ces pipelines fonctionnent correctement. Pour plus d’informations, consultez « Utilisation de secrets dans GitHub Actions ».
- Un exécuteur auto-hébergé fait référence à une étiquette d’un exécuteur référencé dans un pipeline converti qui n’est pas un exécuteur hébergé par GitHub. Vous devez définir manuellement ces exécuteurs pour que ces pipelines fonctionnent correctement.
Fichiers
La dernière section du rapport d’audit fournit un manifeste de tous les fichiers qui ont été écrits sur le disque pendant l’audit.
À chaque fichier de pipeline correspond une série de fichiers inclus dans l’audit, notamment :
- Le pipeline d’origine tel qu’il a été défini dans GitHub.
- Toutes les réponses réseau utilisées pour convertir le pipeline.
- Le fichier de workflow converti.
- Les traces de pile qui peuvent être utilisées pour résoudre les problèmes liés à une conversion de pipeline ayant échoué.
De plus, le fichier workflow_usage.csv
contient une liste séparée par des virgules de l’ensemble des actions, secrets et exécuteurs qui sont utilisés par chaque pipeline converti avec succès. Cela peut être utile pour déterminer quels workflows utilisent quelles actions, quels secrets ou quels exécuteurs, et pour effectuer des révisions de sécurité.
Prévoir l’utilisation potentielle de l’exécuteur de génération
Vous pouvez utiliser la commande forecast
pour prévoir l’utilisation potentielle de GitHub Actions en calculant des métriques à partir des exécutions de pipeline terminées sur votre serveur GitLab.
Exécution de la commande forecast
Pour effectuer une prévision de l’utilisation potentielle de GitHub Actions, exécutez la commande suivante dans votre terminal, en remplaçant my-gitlab-namespace
par l’espace de noms ou le groupe que vous prédisez. Par défaut, GitHub Actions Importer inclut les sept jours précédents dans le rapport de prévision.
gh actions-importer forecast gitlab --output-dir tmp/forecast --namespace my-gitlab-namespace
Prévision d’un espace de noms entier
Pour prédire un espace de noms entier et tous ses sous-groupes, vous devez spécifier chaque sous-groupe dans l’argument --namespace
ou la variable d’environnement NAMESPACE
.
Par exemple :
gh actions-importer forecast gitlab --namespace my-gitlab-namespace my-gitlab-namespace/subgroup-one my-gitlab-namespace/subgroup-two ...
Inspection du rapport de prévision
Le fichier forecast_report.md
dans le répertoire de sortie spécifié contient les résultats de la prévision.
Voici quelques termes clés qui peuvent apparaître dans le rapport de prévision :
- Le nombre de travaux correspond au nombre total de travaux terminés.
- Le nombre de pipelines correspond au nombre de pipelines uniques utilisés.
- Le temps d’exécution décrit le temps passé par un exécuteur sur un travail. Cette métrique peut être utilisée pour planifier le coût des exécuteurs hébergés par GitHub.
- Cette métrique est corrélée au montant que vous devez vous attendre à dépenser dans GitHub Actions. Cela varie en fonction du matériel utilisé pendant ces minutes. Vous pouvez utiliser la calculatrice de prix GitHub Actions pour estimer les coûts.
- Les métriques de temps de file d’attente décrivent le temps passé par un travail à attendre qu’un exécuteur soit disponible pour l’exécuter.
- Les métriques de travaux simultanés décrivent le nombre de travaux en cours d’exécution à un moment donné. Cette métrique peut être utilisée pour définir le nombre d’exécuteurs que vous devez configurer.
En outre, ces métriques sont définies pour chaque file d’attente d’exécuteurs dans GitLab. C’est particulièrement utile s’il existe une combinaison d’exécuteurs hébergés ou auto-hébergés ou de machines à spécifications élevées ou faibles, afin que vous puissiez voir des métriques spécifiques à différents types d’exécuteurs.
Effectuer une migration test d’un pipeline GitLab
Vous pouvez utiliser la commande dry-run
pour convertir un pipeline GitLab en son workflow GitHub Actions équivalent.
Exécution de la commande dry-run
Vous pouvez utiliser la commande dry-run
pour convertir un pipeline GitLab en workflow GitHub Actions équivalent. Une exécution test crée les fichiers de sortie dans un répertoire spécifié, mais n’ouvre pas de demande de tirage pour migrer le pipeline.
Pour effectuer une exécution de test de migration de vos pipelines GitLab vers GitHub Actions, exécutez la commande suivante dans votre terminal, en remplaçant my-gitlab-project
par le slug de votre projet GitLab et my-gitlab-namespace
par l’espace de noms ou le groupe (le chemin d’accès complet au groupe pour les sous-groupes, par ex. my-org/my-team
) pour lequel vous effectuez une exécution de test.
gh actions-importer dry-run gitlab --output-dir tmp/dry-run --namespace my-gitlab-namespace --project my-gitlab-project
Inspection des workflows convertis
Vous pouvez afficher les journaux de l’exécution test et les fichiers de workflow convertis dans le répertoire de sortie spécifié.
Pour tout ce que GitHub Actions Importer n’a pas pu convertir automatiquement, comme des étapes de génération inconnues ou un pipeline partiellement réussi, vous pouvez créer des transformateurs personnalisés pour personnaliser davantage le processus de conversion. Pour plus d’informations, consultez « Extension GitHub Actions Importer avec des transformateurs personnalisés ».
Effectuer une migration de production d’un pipeline GitLab
Vous pouvez utiliser la commande migrate
pour convertir un pipeline GitLab et ouvrir une demande de tirage avec le workflow GitHub Actions équivalent.
Exécution de la commande migrate
Pour migrer un pipeline GitLab vers GitHub Actions, exécutez la commande suivante dans votre terminal, en remplaçant les valeurs suivantes :
- La valeur
target-url
avec l’URL de votre dépôt GitHub Enterprise Server my-gitlab-project
avec le slug de votre projet GitLabmy-gitlab-namespace
avec l’espace de noms ou le groupe vers lequel vous migrez (chemin complet pour les sous-groupes, par ex.my-org/my-team
)
gh actions-importer migrate gitlab --target-url https://github.com/:owner/:repo --output-dir tmp/migrate --namespace my-gitlab-namespace --project my-gitlab-project
La sortie de la commande inclut l’URL de la demande de tirage qui ajoute le workflow converti à votre dépôt. Voici un exemple de sortie réussie :
$ gh actions-importer migrate gitlab --target-url https://github.com/octo-org/octo-repo --output-dir tmp/migrate --namespace octo-org --project monas-project
[2022-08-20 22:08:20] Logs: 'tmp/migrate/log/actions-importer-20220916-014033.log'
[2022-08-20 22:08:20] Pull request: 'https://github.com/octo-org/octo-repo/pull/1'
Inspection de la demande de tirage
La sortie d’une exécution réussie de la commande migrate
contient un lien vers la nouvelle demande de tirage qui ajoute le workflow converti à votre dépôt.
Voici quelques éléments importants de la demande de tirage :
- Dans la description de la demande de tirage, une section appelée Étapes manuelles, qui liste les étapes que vous devez effectuer manuellement avant de pouvoir terminer la migration de vos pipelines vers GitHub Actions. Par exemple, cette section peut vous indiquer de créer des secrets utilisés dans vos workflows.
- Fichier de workflows converti. Sélectionnez l’onglet Fichiers changés dans la demande de tirage pour afficher le fichier de workflow à ajouter à votre dépôt GitHub Enterprise Server.
Une fois que vous avez terminé d’inspecter la demande de tirage, vous pouvez la fusionner pour ajouter le workflow à votre dépôt GitHub Enterprise Server.
Informations de référence
Cette section contient des informations de référence sur les variables d’environnement, les arguments facultatifs et la syntaxe prise en charge lors de l’utilisation de GitHub Actions Importer pour effectuer une migration à partir de GitLab.
Utilisation de variables d’environnement
GitHub Actions Importer utilise des variables d’environnement pour sa configuration d’authentification. Ces variables sont définies lors du processus de configuration au moyen de la commande configure
. Pour plus d’informations, consultez la section « Configuration des informations d’identification ».
GitHub Actions Importer utilise les variables d’environnement suivantes pour se connecter à votre instance GitLab :
GITHUB_ACCESS_TOKEN
: personal access token (classic) utilisé pour créer des demandes de tirage avec un workflow converti (nécessite l’étendueworkflow
).GITHUB_INSTANCE_URL
: URL de l’instance GitHub cible (par exemple,https://github.com
).GITLAB_ACCESS_TOKEN
: Le personal access token GitLab utilisé pour afficher les ressources GitLab.GITLAB_INSTANCE_URL
: URL de l’instance GitLab.NAMESPACE
: espaces de noms ou groupes qui contiennent les pipelines GitLab.
Ces variables d’environnement peuvent être spécifiées dans un fichier .env.local
chargé par GitHub Actions Importer lors de son exécution.
Utilisation des arguments facultatifs
Vous pouvez utiliser des arguments facultatifs avec les sous-commandes GitHub Actions Importer pour personnaliser votre migration.
--source-file-path
Vous pouvez utiliser l’argument --source-file-path
avec les sous-commandes forecast
, dry-run
ou migrate
.
Par défaut, GitHub Actions Importer récupère le contenu du pipeline à partir du contrôle de code source. L’argument --source-file-path
indique à GitHub Actions Importer d’utiliser le chemin du fichier source spécifié à la place.
Par exemple :
gh actions-importer dry-run gitlab --output-dir output/ --namespace my-gitlab-namespace --project my-gitlab-project --source-file-path path/to/.gitlab-ci.yml
Si vous souhaitez fournir plusieurs fichiers sources lors de l’exécution de la sous-commande forecast
, vous pouvez utiliser la correspondance de modèle dans la valeur du chemin de fichier. L’exemple suivant fournit à GitHub Actions Importer tous les fichiers sources qui correspondent au chemin de fichier ./tmp/previous_forecast/jobs/*.json
.
gh actions-importer forecast gitlab --output-dir output/ --namespace my-gitlab-namespace --project my-gitlab-project --source-file-path ./tmp/previous_forecast/jobs/*.json
--config-file-path
Vous pouvez utiliser l’argument --config-file-path
avec les sous-commandes audit
, dry-run
et migrate
.
Par défaut, GitHub Actions Importer récupère le contenu du pipeline à partir du contrôle de code source. L’argument --config-file-path
indique à GitHub Actions Importer d’utiliser les fichiers sources spécifiés à la place.
L’argument --config-file-path
peut également être utilisé pour spécifier le référentiel vers lequel un workflow réutilisable converti doit être migré.
Exemple Audit
Dans cet exemple, GitHub Actions Importer utilise le fichier de configuration YAML spécifié pour effectuer un audit.
gh actions-importer audit gitlab --output-dir path/to/output/ --namespace my-gitlab-namespace --config-file-path path/to/gitlab/config.yml
Pour auditer une instance GitLab avec un fichier de configuration, celui-ci doit être au format suivant et chaque valeur repository_slug
doit être unique :
source_files:
- repository_slug: namespace/project-name
path: path/to/.gitlab-ci.yml
- repository_slug: namespace/some-other-project-name
path: path/to/.gitlab-ci.yml
Exemple d’exécution test
Dans cet exemple, GitHub Actions Importer utilise le fichier de configuration YAML spécifié comme fichier source pour effectuer une exécution test.
Le pipeline est sélectionné en faisant correspondre le repository_slug
dans le fichier de configuration à la valeur des options --namespace
et --project
. path
est ensuite utilisé pour tirer (pull) le fichier source spécifié.
gh actions-importer dry-run gitlab --namespace my-gitlab-namespace --project my-gitlab-project-name --output-dir ./output/ --config-file-path ./path/to/gitlab/config.yml
Spécifier le référentiel des workflows réutilisables convertis
GitHub Actions Importer utilise le fichier YAML fourni à l’argument --config-file-path
pour déterminer le référentiel vers lequel les workflows réutilisables convertis sont migrés.
Pour commencer, vous devez exécuter un audit sans l’argument --config-file-path
:
gh actions-importer audit gitlab --output-dir ./output/
La sortie de cette commande contient un fichier nommé config.yml
qui contient lui-même une liste de toutes les actions composites qui ont été converties par GitHub Actions Importer. Par exemple, le fichier config.yml
peut avoir le contenu suivant :
reusable_workflows:
- name: my-reusable-workflow.yml
target_url: https://github.com/octo-org/octo-repo
ref: main
Vous pouvez utiliser ce fichier pour spécifier le référentiel et la référence auxquels un workflow réutilisable ou une action composite doit être ajouté. Vous pouvez ensuite utiliser l’argument --config-file-path
pour fournir le fichier config.yml
à GitHub Actions Importer. Par exemple, vous pouvez utiliser ce fichier lors de l’exécution d’une commande migrate
pour ouvrir une demande de tirage pour chaque référentiel unique défini dans le fichier config :
gh actions-importer migrate gitlab --project my-project-name --output-dir output/ --config-file-path config.yml --target-url https://github.com/my-org/my-repo
Syntaxe prise en charge pour les pipelines GitLab
Le tableau suivant montre le type de propriétés que GitHub Actions Importer est en mesure de convertir. Pour plus d’informations sur l’alignement de la syntaxe des pipelines GitLab sur GitHub Actions, consultez « Migration de GitLab CI/CD vers GitHub Actions ».
Pipelines GitLab | GitHub Actions | État |
---|---|---|
after_script | jobs.<job_id>.steps | Prise en charge |
auto_cancel_pending_pipelines | concurrency | Prise en charge |
before_script | jobs.<job_id>.steps | Prise en charge |
build_timeout ou timeout | jobs.<job_id>.timeout-minutes | Prise en charge |
default | Non applicable | Prise en charge |
image | jobs.<job_id>.container | Prise en charge |
job | jobs.<job_id> | Prise en charge |
needs | jobs.<job_id>.needs | Prise en charge |
only_allow_merge_if_pipeline_succeeds | on.pull_request | Prise en charge |
resource_group | jobs.<job_id>.concurrency | Prise en charge |
schedule | on.schedule | Prise en charge |
script | jobs.<job_id>.steps | Prise en charge |
stages | jobs | Prise en charge |
tags | jobs.<job_id>.runs-on | Prise en charge |
variables | env , jobs.<job_id>.env | Prise en charge |
Exécuter des pipelines pour les nouvelles validations | on.push | Prise en charge |
Exécuter des pipelines manuellement | on.workflow_dispatch | Prise en charge |
environment | jobs.<job_id>.environment | Partiellement pris en charge |
include | Les fichiers référencés dans une instruction include sont fusionnés dans un graphique de travail unique avant d’être transformés. | Partiellement pris en charge |
only ou except | jobs.<job_id>.if | Partiellement pris en charge |
parallel | jobs.<job_id>.strategy | Partiellement prise en charge |
rules | jobs.<job_id>.if | Partiellement prise en charge |
services | jobs.<job_id>.services | Partiellement prise en charge |
workflow | if | Partiellement pris en charge |
Pour plus d’informations sur les constructions GitLab prises en charge, consultez le dépôt github/gh-actions-importer
.
Syntaxe des variables d’environnement
GitHub Actions Importer utilise le mappage dans le tableau ci-dessous pour convertir les variables d’environnement GitLab par défaut en l’équivalent le plus proche dans GitHub Actions.
GitLab | GitHub Actions |
---|---|
CI_API_V4_URL | ${{ github.api_url }} |
CI_BUILDS_DIR | ${{ github.workspace }} |
CI_COMMIT_BRANCH | ${{ github.ref }} |
CI_COMMIT_REF_NAME | ${{ github.ref }} |
CI_COMMIT_REF_SLUG | ${{ github.ref }} |
CI_COMMIT_SHA | ${{ github.sha }} |
CI_COMMIT_SHORT_SHA | ${{ github.sha }} |
CI_COMMIT_TAG | ${{ github.ref }} |
CI_JOB_ID | ${{ github.job }} |
CI_JOB_MANUAL | ${{ github.event_name == 'workflow_dispatch' }} |
CI_JOB_NAME | ${{ github.job }} |
CI_JOB_STATUS | ${{ job.status }} |
CI_JOB_URL | ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} |
CI_JOB_TOKEN | ${{ github.token }} |
CI_NODE_INDEX | ${{ strategy.job-index }} |
CI_NODE_TOTAL | ${{ strategy.job-total }} |
CI_PIPELINE_ID | ${{ github.repository}}/${{ github.workflow }} |
CI_PIPELINE_IID | ${{ github.workflow }} |
CI_PIPELINE_SOURCE | ${{ github.event_name }} |
CI_PIPELINE_TRIGGERED | ${{ github.actions }} |
CI_PIPELINE_URL | ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} |
CI_PROJECT_DIR | ${{ github.workspace }} |
CI_PROJECT_ID | ${{ github.repository }} |
CI_PROJECT_NAME | ${{ github.event.repository.name }} |
CI_PROJECT_NAMESPACE | ${{ github.repository_owner }} |
CI_PROJECT_PATH_SLUG | ${{ github.repository }} |
CI_PROJECT_PATH | ${{ github.repository }} |
CI_PROJECT_ROOT_NAMESPACE | ${{ github.repository_owner }} |
CI_PROJECT_TITLE | ${{ github.event.repository.full_name }} |
CI_PROJECT_URL | ${{ github.server_url }}/${{ github.repository }} |
CI_REPOSITORY_URL | ${{ github.event.repository.clone_url }} |
CI_RUNNER_EXECUTABLE_ARCH | ${{ runner.os }} |
CI_SERVER_HOST | ${{ github.server_url }} |
CI_SERVER_URL | ${{ github.server_url }} |
CI_SERVER | ${{ github.actions }} |
GITLAB_CI | ${{ github.actions }} |
GITLAB_USER_EMAIL | ${{ github.actor }} |
GITLAB_USER_ID | ${{ github.actor }} |
GITLAB_USER_LOGIN | ${{ github.actor }} |
GITLAB_USER_NAME | ${{ github.actor }} |
TRIGGER_PAYLOAD | ${{ github.event_path }} |
CI_MERGE_REQUEST_ASSIGNEES | ${{ github.event.pull_request.assignees }} |
CI_MERGE_REQUEST_ID | ${{ github.event.pull_request.number }} |
CI_MERGE_REQUEST_IID | ${{ github.event.pull_request.number }} |
CI_MERGE_REQUEST_LABELS | ${{ github.event.pull_request.labels }} |
CI_MERGE_REQUEST_MILESTONE | ${{ github.event.pull_request.milestone }} |
CI_MERGE_REQUEST_PROJECT_ID | ${{ github.repository }} |
CI_MERGE_REQUEST_PROJECT_PATH | ${{ github.repository }} |
CI_MERGE_REQUEST_PROJECT_URL | ${{ github.server_url }}/${{ github.repository }} |
CI_MERGE_REQUEST_REF_PATH | ${{ github.ref }} |
CI_MERGE_REQUEST_SOURCE_BRANCH_NAME | ${{ github.event.pull_request.head.ref }} |
CI_MERGE_REQUEST_SOURCE_BRANCH_SHA | ${{ github.event.pull_request.head.sha}} |
CI_MERGE_REQUEST_SOURCE_PROJECT_ID | ${{ github.event.pull_request.head.repo.full_name }} |
CI_MERGE_REQUEST_SOURCE_PROJECT_PATH | ${{ github.event.pull_request.head.repo.full_name }} |
CI_MERGE_REQUEST_SOURCE_PROJECT_URL | ${{ github.event.pull_request.head.repo.url }} |
CI_MERGE_REQUEST_TARGET_BRANCH_NAME | ${{ github.event.pull_request.base.ref }} |
CI_MERGE_REQUEST_TARGET_BRANCH_SHA | ${{ github.event.pull_request.base.sha }} |
CI_MERGE_REQUEST_TITLE | ${{ github.event.pull_request.title }} |
CI_EXTERNAL_PULL_REQUEST_IID | ${{ github.event.pull_request.number }} |
CI_EXTERNAL_PULL_REQUEST_SOURCE_REPOSITORY | ${{ github.event.pull_request.head.repo.full_name }} |
CI_EXTERNAL_PULL_REQUEST_TARGET_REPOSITORY | ${{ github.event.pull_request.base.repo.full_name }} |
CI_EXTERNAL_PULL_REQUEST_SOURCE_BRANCH_NAME | ${{ github.event.pull_request.head.ref }} |
CI_EXTERNAL_PULL_REQUEST_SOURCE_BRANCH_SHA | ${{ github.event.pull_request.head.sha }} |
CI_EXTERNAL_PULL_REQUEST_TARGET_BRANCH_NAME | ${{ github.event.pull_request.base.ref }} |
CI_EXTERNAL_PULL_REQUEST_TARGET_BRANCH_SHA | ${{ github.event.pull_request.base.sha }} |
Mentions légales
Certaines parties ont été adaptées à partir de https://github.com/github/gh-actions-importer/ sous la licence MIT :
MIT License
Copyright (c) 2022 GitHub
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.