Skip to main content

Configuración y argumentos complementarios

Aviso legal

En este artículo se proporciona información general para configurar los argumentos y valores complementarios de Actions Importer, como parámetros opcionales, argumentos de ruta de acceso y configuración de red.

Actions Importer tiene varios parámetros opcionales que puedes usar para personalizar el proceso de migración.

Las opciones siguientes se pueden usar para limitar qué acciones se permiten en los flujos de trabajo convertidos. Cuando se usa de forma combinada, estas opciones expanden la lista de acciones permitidas. Si no se proporciona ninguna de estas opciones, se permiten todas las acciones.

  • --allowed-actions especifica una lista de acciones que se van a permitir en los flujos de trabajo convertidos. Se admite caracteres comodín. No se permitirá ninguna otra acción que no sea la proporcionada.

    Por ejemplo:

    --allowed-actions actions/checkout@v4 actions/upload-artifact@* my-org/*
    

    Puedes proporcionar una lista vacía para no permitir todas las acciones. Por ejemplo, --allowed-actions=.

  • --allow-verified-actions especifica que se permiten todas las acciones de creadores comprobados.

  • --allow--created-actions especifica que se permiten acciones publicadas desde las organizaciones o actions.

    Por ejemplo, estas acciones incluyen /super-linter y actions/checkout.

    Esta opción es equivalente a --allowed-actions actions/* /*.

El parámetro --credentials-file especifica la ruta de acceso a un archivo que contiene credenciales para distintos servidores en los que Actions Importer se puede autenticar. Esto resulta útil cuando los scripts de compilación (como .travis.yml o jenkinsfile) se almacenan en varias instancias de Enterprise Server.

Un archivo de credenciales debe ser un archivo YAML que contenga una lista de combinaciones de servidor y token de acceso. En Actions Importer se usan las credenciales de la dirección URL que coincida más estrechamente con la solicitud de red que se realiza.

Por ejemplo:

- 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

Para el archivo de credenciales anterior, Actions Importer usa el token de acceso ghp_mygeneraltoken para autenticar todas las solicitudes de red a https://.com, a menos que la solicitud de red sea para un repositorio de la organización specific_org. En ese caso, en su lugar se usa el token ghp_myorgspecifictoken para autenticarse.

En Actions Importer se puede capturar automáticamente el código fuente de repositorios que no son de . Un archivo de credenciales puede especificar provider, la dirección URL del proveedor y las credenciales necesarias para recuperar el código fuente.

Por ejemplo:

- url: https://gitlab.com
  access_token: super_secret_token
  provider: gitlab

En el ejemplo anterior, Actions Importer usa el token super_secret_token para recuperar cualquier código fuente hospedado en https://gitlab.com.

Los valores admitidos para provider son:

  • (valor predeterminado)
  • gitlab
  • bitbucket_server
  • azure_devops

Puede usar la opción --features para limitar las características usadas en los flujos de trabajo que crea Actions Importer. Esto resulta útil para excluir la sintaxis más reciente de Actions de los flujos de trabajo al migrar a una instancia anterior de Enterprise Server. Al usar la opción --features, debes especificar la versión de Enterprise Server a la que vas a realizar la migración.

Por ejemplo:

gh actions-importer dry-run ... --features ghes-3.3

Los valores admitidos para --features son los siguientes:

  • all (valor predeterminado)
  • ghes-latest
  • ghes-<number>, donde <number> es la versión de Enterprise Server, 3.0 o posterior. Por ejemplo, ghes-3.3.

Puedes ver la lista de marcas de características disponibles por Actions Importer ejecutando el comando list-features. Por ejemplo:

Shell
gh actions-importer list-features

Debería ver una salida similar a la siguiente.

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

Para alternar las marcas de características, puedes usar cualquiera de los métodos siguientes:

  • Usa las opciones --enable-features y --disable-features al ejecutar un comando gh actions-importer.
  • Usa una variable de entorno para cada marca de característica.

Puedes usar las opciones --enable-features y --disable-features para seleccionar características específicas para habilitar o deshabilitar durante el comando. Por ejemplo, el siguiente comando deshabilita el uso de actions/cache y composite-actions:

gh actions-importer dry-run ... --disable-features=composite-actions actions/cache

Puedes usar el comando configure --features para configurar interactivamente las marcas de características y escribirlas automáticamente en tu entorno:

$ 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

De manera predeterminada, Actions Importer almacena en caché las respuestas de las solicitudes de red para reducir la carga de red y reducir el tiempo de ejecución. Puede usar la opción --no-http-cache para deshabilitar la caché de red. Por ejemplo:

gh actions-importer forecast ... --no-http-cache

Al ejecutar Actions Importer, los argumentos de ruta de acceso son relativos al disco del contenedor, por lo que no se admiten rutas de acceso absolutas relativas a la máquina host del contenedor. Cuando se ejecuta Actions Importer, el directorio /data del contenedor se monta en el directorio donde se ejecutan Actions Importer.

Por ejemplo, el siguiente comando, cuando se usa en el directorio /Users/mona, genera el resumen de auditoría de Actions Importer en el directorio /Users/mona/out:

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

Para acceder a servidores configurados con un proxy HTTP, debes establecer las siguientes variables de entorno con la URL del proxy:

  • OCTOKIT_PROXY: para cualquier servidor de .
  • HTTP_PROXY (o HTTPS_PROXY): para cualquier otro servidor.

Por ejemplo:

export OCTOKIT_PROXY=https://proxy.example.com:8443
export HTTPS_PROXY=$OCTOKIT_PROXY

Si el proxy necesita autenticación, se debe incluir un nombre de usuario y una contraseña en la dirección URL del proxy. Por ejemplo, https://username:[email protected]:port.

De manera predeterminada, Actions Importer comprueba los certificados SSL al realizar solicitudes de red. Puedes deshabilitar la comprobación del certificado SSL con la opción --no-ssl-verify. Por ejemplo:

gh actions-importer audit --output-dir ./output --no-ssl-verify

Algunas partes se han adaptado a partir de https://.com//gh-actions-importer/ con licencia 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.