Cet article fournit des informations générales sur la configuration des arguments et paramètres supplémentaires de GitHub Actions Importer, comme les paramètres facultatifs, les arguments de chemin d’accès et les paramètres réseau.
Paramètres facultatifs
GitHub Actions Importer a plusieurs paramètres facultatifs que vous pouvez utiliser pour personnaliser le processus de migration.
Limitation des actions autorisées
Les options suivantes peuvent être utilisées pour limiter les actions autorisées dans les workflows convertis. Lorsqu’elles sont utilisées conjointement, ces options étendent la liste des actions autorisées. Si aucune de ces options n’est fournie, toutes les actions sont autorisées.
-
--allowed-actions
spécifie une liste d’actions à autoriser dans les workflow convertis. Les caractères génériques sont pris en charge. Toutes les autres actions autres que celles fournies seront interdites.Par exemple :
--allowed-actions actions/checkout@v4 actions/upload-artifact@* my-org/*
Vous pouvez fournir une liste vide pour interdire toutes les actions. Par exemple :
--allowed-actions=
. -
--allow-verified-actions
spécifie que toutes les actions des créateurs vérifiés sont autorisées. -
--allow-github-created-actions
spécifie que les actions publiées à partir des organisationsgithub
ouactions
sont autorisées.Par exemple, ces actions incluent
github/super-linter
etactions/checkout
.Cette option revient à
--allowed-actions actions/* github/*
.
Utilisation d’un fichier d’informations d’identification pour l’authentification
Le paramètre --credentials-file
spécifie le chemin d’accès à un fichier contenant les informations d’identification pour les différents serveurs sur lesquels GitHub Actions Importer peut s’authentifier. Cela est utile lorsque des scripts de build (comme .travis.yml
ou jenkinsfile
) sont stockés dans plusieurs instances GitHub Enterprise Server.
Un fichier d’informations d’identification doit être un fichier YAML contenant une liste de combinaisons de jetons de serveur et d’accès. GitHub Actions Importer utilise les informations d’identification de l’URL qui correspond le plus à la demande réseau effectuée.
Par exemple :
- url: https://github.com
access_token: ghp_mygeneraltoken
- url: https://github.com/specific_org/
access_token: ghp_myorgspecifictoken
- url: https://jenkins.org
access_token: abc123
username: marty_mcfly
Pour le fichier d’informations d’identification ci-dessus, GitHub Actions Importer utilise le jeton d’accès ghp_mygeneraltoken
pour authentifier toutes les demandes réseau auprès de https://github.com
, sauf si la demande réseau concerne un dépôt dans l’organisation specific_org
. Dans ce cas, le jeton ghp_myorgspecifictoken
est utilisé pour s’authentifier à la place.
Fournisseurs de code source alternatifs
GitHub Actions Importer peut extraire automatiquement le code source à partir de dépôts non GitHub. Un fichier d’informations d’identification peut spécifier le provider
, l’URL du fournisseur et les informations d’identification nécessaires pour récupérer le code source.
Par exemple :
- url: https://gitlab.com
access_token: super_secret_token
provider: gitlab
Pour l’exemple ci-dessus, GitHub Actions Importer utilise le jeton super_secret_token
pour récupérer tout code source hébergé sur https://gitlab.com
.
Voici les valeurs prises en charge pour provider
:
github
(valeur par défaut)gitlab
bitbucket_server
azure_devops
Contrôle des fonctionnalités facultatives
Vous pouvez utiliser l’option --features
pour limiter les fonctionnalités utilisées dans les workflows créés par GitHub Actions Importer. Cela est utile pour exclure la syntaxe GitHub Actions plus récente des workflows lors de la migration vers une instance GitHub Enterprise Server plus ancienne. Lorsque vous utilisez l’option --features
, vous devez spécifier la version de GitHub Enterprise Server vers laquelle vous effectuez la migration.
Par exemple :
gh actions-importer dry-run ... --features ghes-3.3
Les valeurs prises en charge pour --features
sont :
all
(valeur par défaut)ghes-latest
ghes-<number>
, où<number>
est la version de GitHub Enterprise Server,3.0
ou version ultérieure. Par exemple :ghes-3.3
.
Vous pouvez afficher la liste des indicateurs de fonctionnalités disponibles de GitHub Actions Importer en exécutant la commande list-features
. Par exemple :
gh actions-importer list-features
gh actions-importer list-features
Le résultat ressemble à ce qui suit.
Available feature flags:
actions/cache (disabled):
Control usage of actions/cache inside of workflows. Outputs a comment if not enabled.
GitHub Enterprise Server >= ghes-3.5 required.
composite-actions (enabled):
Minimizes resulting workflow complexity through the use of composite actions. See https://docs.github.com/en/actions/creating-actions/creating-a-composite-action for more information.
GitHub Enterprise Server >= ghes-3.4 required.
reusable-workflows (disabled):
Avoid duplication by re-using existing workflows. See https://docs.github.com/en/actions/using-workflows/reusing-workflows for more information.
GitHub Enterprise Server >= ghes-3.4 required.
workflow-concurrency-option-allowed (enabled):
Allows the use of the `concurrency` option in workflows. See https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#concurrency for more information.
GitHub Enterprise Server >= ghes-3.2 required.
Enable features by passing --enable-features feature-1 feature-2
Disable features by passing --disable-features feature-1 feature-2
Pour activer les indicateurs de fonctionnalités, vous pouvez utiliser l’une des méthodes suivantes :
- Utilisez les options
--enable-features
et--disable-features
lors de l’exécution d’une commandegh actions-importer
. - Utilisez une variable d’environnement pour chaque indicateur de fonctionnalité.
Vous pouvez utiliser les options --enable-features
et --disable-features
pour sélectionner des fonctionnalités spécifiques à activer ou à désactiver pendant la durée de la commande.
Par exemple, la commande suivante désactive l’utilisation de actions/cache
et de composite-actions
:
gh actions-importer dry-run ... --disable-features=composite-actions actions/cache
Vous pouvez utiliser la commande configure --features
pour configurer de manière interactive les indicateurs de fonctionnalités et les écrire automatiquement dans votre environnement :
$ gh actions-importer configure --features
✔ Which features would you like to configure?: actions/cache, reusable-workflows
✔ actions/cache (disabled): Enable
? reusable-workflows (disabled):
› Enable
Disable
Désactivation de la mise en cache des réponses réseau
Par défaut, GitHub Actions Importer met en cache les réponses des demandes réseau pour réduire la charge réseau et réduire le temps d’exécution. Vous pouvez utiliser l’option --no-http-cache
pour désactiver le cache réseau. Par exemple :
gh actions-importer forecast ... --no-http-cache
Arguments de chemin d’accès
Lors de l’exécution de GitHub Actions Importer, les arguments de chemin d’accès sont relatifs au disque du conteneur, de sorte que les chemins absolus relatifs à l’ordinateur hôte du conteneur ne sont pas pris en charge. Lorsque GitHub Actions Importer est exécuté, le répertoire du conteneur /data
est monté dans le répertoire où GitHub Actions Importer est exécuté.
Par exemple, la commande suivante, quand elle est utilisée dans le répertoire /Users/mona
, génère le résumé de l’audit GitHub Actions Importer dans le répertoire /Users/mona/out
:
gh actions-importer audit --output-dir /data/out
Utilisation d’un proxy
Pour accéder aux serveurs configurés avec un proxy HTTP, vous devez définir les variables d’environnement suivantes avec l’URL du proxy :
OCTOKIT_PROXY
: pour tout serveur GitHub.HTTP_PROXY
(ouHTTPS_PROXY
) : pour tous les autres serveurs.
Par exemple :
export OCTOKIT_PROXY=https://proxy.example.com:8443
export HTTPS_PROXY=$OCTOKIT_PROXY
Si le proxy nécessite une authentification, un nom d’utilisateur et un mot de passe doivent être inclus dans l’URL du proxy. Par exemple : https://username:password@proxy.url:port
.
Désactivation de la vérification de certificat SSL
Par défaut, GitHub Actions Importer vérifie les certificats SSL lors de l’envoi de demandes réseau. Vous pouvez désactiver la vérification des certificats SSL avec l’option --no-ssl-verify
. Par exemple :
gh actions-importer audit --output-dir ./output --no-ssl-verify
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.