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.

Mentions légales

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 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 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 :

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 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 (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’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

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.