Skip to main content

Arguments et paramètres supplémentaires

GitHub Actions Importer a plusieurs arguments et paramètres supplémentaires pour adapter le processus de migration à vos besoins.

Cet article fournit des informations générales sur la configuration GitHub Actions Importerdes arguments et des paramètres supplémentaires, tels que les paramètres facultatifs, les arguments de chemin d’accès et les paramètres réseau.

Paramètres facultatifs

GitHub Actions Importer possède 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@v6 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 organisations github ou actions sont autorisées.

    Par exemple, ces actions incluent github/super-linter et actions/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 des informations d’identification pour différents serveurs auprès desquels GitHub Actions Importer peut s’authentifier. Cela est utile lorsque des scripts de génération (tels que .travis.yml ou jenkinsfile) sont stockés dans plusieurs GitHub Enterprise Server instances.

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 pour l’URL qui correspond le plus étroitement à la requête 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 ghp_mygeneraltoken d’accès pour authentifier toutes les demandes réseau à https://github.com, sauf si la demande réseau concerne un référentiel 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 récupérer automatiquement le code source depuis des référentiels 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 flux de travail qui GitHub Actions Importer créent. Cela est utile pour exclure la syntaxe plus récente GitHub Actions des flux de travail lors de la migration vers une instance plus ancienne GitHub Enterprise Server . Lorsque vous utilisez l’option --features , vous devez spécifier la version vers GitHub Enterprise Server 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 ultérieure. Par exemple : ghes-3.3.

Vous pouvez afficher la liste des indicateurs GitHub Actions Importer de fonctionnalité disponibles en exécutant la list-features commande. Par exemple :

Shell
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 commande gh 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 requêtes 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

Lors de l’exécution GitHub Actions Importer, les arguments de chemin d’accès sont relatifs au disque du conteneur. Par conséquent, les chemins absolus relatifs à la machine hôte du conteneur ne sont pas pris en charge. Lorsque GitHub Actions Importer est exécuté, le répertoire /data du conteneur est monté dans le répertoire dans lequel GitHub Actions Importer est exécuté.

Par exemple, la commande suivante, lorsqu’elle est utilisée dans le /Users/mona répertoire, génère le GitHub Actions Importer résumé d’audit dans le /Users/mona/out répertoire :

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 n’importe quel GitHub serveur.
  • HTTP_PROXY (ou HTTPS_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:[email protected]:port.

Désactivation de la vérification de certificat SSL

Par défaut, GitHub Actions Importer vérifie les certificats SSL lors de l’établissement de requêtes 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

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.