Skip to main content

Arguments et paramètres supplémentaires

Mentions légales

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

Actions Importer a plusieurs paramètres facultatifs que vous pouvez utiliser pour personnaliser le processus de migration.

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--created-actions spécifie que les actions publiées à partir des organisations ou actions sont autorisées.

    Par exemple, ces actions incluent /super-linter et actions/checkout.

    Cette option revient à --allowed-actions actions/* /*.

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 Actions Importer peut s’authentifier. Cela est utile lorsque des scripts de build (comme .travis.yml ou jenkinsfile) sont stockés dans plusieurs instances 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. Actions Importer utilise les informations d’identification de l’URL qui correspond le plus à la demande réseau effectuée.

Par exemple :

- url: https://.com
  access_token: ghp_mygeneraltoken
- url: https://.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, Actions Importer utilise le jeton d’accès ghp_mygeneraltoken pour authentifier toutes les demandes réseau auprès de https://.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.

Actions Importer peut extraire automatiquement le code source à partir de dépôts non . 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, 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 :

  • (valeur par défaut)
  • gitlab
  • bitbucket_server
  • azure_devops

Vous pouvez utiliser l’option --features pour limiter les fonctionnalités utilisées dans les workflows créés par Actions Importer. Cela est utile pour exclure la syntaxe Actions plus récente des workflows lors de la migration vers une instance Enterprise Server plus ancienne. Lorsque vous utilisez l’option --features, vous devez spécifier la version de 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 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 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.
         Enterprise Server >= ghes-3.5 required.

composite-actions (enabled):
        Minimizes resulting workflow complexity through the use of composite actions. See https://docs..com/en/actions/creating-actions/creating-a-composite-action for more information.
         Enterprise Server >= ghes-3.4 required.

reusable-workflows (disabled):
        Avoid duplication by re-using existing workflows. See https://docs..com/en/actions/using-workflows/reusing-workflows for more information.
         Enterprise Server >= ghes-3.4 required.

workflow-concurrency-option-allowed (enabled):
        Allows the use of the `concurrency` option in workflows. See https://docs..com/en/actions/reference/workflow-syntax-for--actions#concurrency for more information.
         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

Par défaut, 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

Lors de l’exécution de 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 Actions Importer est exécuté, le répertoire du conteneur /data est monté dans le répertoire où 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 Actions Importer dans le répertoire /Users/mona/out :

gh actions-importer audit --output-dir /data/out

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 .
  • 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.

Par défaut, 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://.com//gh-actions-importer/ sous la licence MIT :

MIT License

Copyright (c) 2022 

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.