Nota: Actualmente los ejecutores hospedados en GitHub no se admiten en GitHub Enterprise Server. Puede ver más información sobre la compatibilidad futura planeada en GitHub public roadmap.
Información general
Los flujos de trabajo iniciales permiten que toda persona en tu organización que tenga permiso para crear flujos de trabajo lo haga de forma más fácil y rápida. Cuando creas un flujo de trabajo nuevo, puedes elegir un flujo de trabajo inicial y algo o todo el trabajo de escribir dicho flujo de trabajo se hará automáticamente. Puedes utilizar flujos de trabajo iniciales como un primer paso para crear un flujo de trabajo personalizado o utilizarlos tal cual. Esto no solo ahorra tiempo, sino que promueve la consistencia y las mejores prácticas a lo largo de tu organización.
GitHub proporciona flujos de trabajo de inicio listos para usar para las siguientes categorías generales:
-
Implementación (CD) . Para obtener más información, vea «Acerca del despliegue contínuo».
-
Integración continua (CI) . Para obtener más información, vea «Acerca de la integración continua».
-
Automatización. Los flujos de trabajo de inicio de automatización ofrecen soluciones para automatizar flujos de trabajo, como evaluar las solicitudes de incorporación de cambios y aplicar una etiqueta basada en las rutas modificadas en la solicitud de incorporación de cambios, o bien saludar a los usuarios que colaboran por primera vez en el repositorio.
Crear un flujo de trabajo inicial
Los usuarios con acceso de escritura al repositorio .github
de la organización pueden crear flujos de trabajo iniciales. Estos pueden utilizarse entonces por los miembros de las organizaciones que tienen permiso para crear flujos de trabajo.
Nota: Para evitar la duplicación entre los flujos de trabajo iniciales, puedes llamar flujos de trabajo reutilizables desde dentro de un flujo de trabajo. Esto puede ayudar a que tus flujos de trabajo se mantengan más fácilmente. Para obtener más información, vea «Reutilización de flujos de trabajo».
Este procedimiento demuestra cómo crear un flujo de trabajo inicial y archivo de metadatos. El archivo de metadatos describe cómo se presentarán los flujos de trabajo inicial a los usuarios cuando estén creando uno nuevo.
-
Si aún no existe, crea un nuevo repositorio público denominado
.github
en la organización. -
Cree un directorio llamado
workflow-templates
. -
Crea el nuevo archivo de flujo de trabajo dentro del directorio
workflow-templates
.Si necesitas hacer referencia a la rama predeterminada de un repositorio, puedes usar el marcador de posición
$default-branch
. Cuando un flujo de trabajo se crea, el marcador de posición se reemplazará automáticamente con el nombre de la rama predeterminada del repositorio.
Nota: Los siguientes valores de la clave runs-on
también se tratan como marcadores de posición:
- "ubuntu-latest" se reemplaza por "[ self-hosted ]"
- "windows-latest" se reemplaza por "[ self-hosted, windows ]"
- "macos-latest" se reemplaza por "[ self-hosted, macOS ]"
Por ejemplo, este archivo denominado octo-organization-ci.yml
muestra un flujo de trabajo básico.
name: Octo Organization CI on: push: branches: [ $default-branch ] pull_request: branches: [ $default-branch ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Run a one-line script run: echo Hello from Octo Organization
name: Octo Organization CI
on:
push:
branches: [ $default-branch ]
pull_request:
branches: [ $default-branch ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run a one-line script
run: echo Hello from Octo Organization
-
Crea un archivo de metadatos dentro del directorio
workflow-templates
. El archivo de metadatos debe tener el mismo nombre que el archivo de flujo de trabajo, pero en lugar de la extensión.yml
, se le tiene que anexar.properties.json
. Por ejemplo, un archivo denominadoocto-organization-ci.properties.json
contiene los metadatos del archivo de flujo de trabajo denominadoocto-organization-ci.yml
.JSON { "name": "Octo Organization Workflow", "description": "Octo Organization CI starter workflow.", "iconName": "example-icon", "categories": [ "Go" ], "filePatterns": [ "package.json$", "^Dockerfile", ".*\\.md$" ] }
{ "name": "Octo Organization Workflow", "description": "Octo Organization CI starter workflow.", "iconName": "example-icon", "categories": [ "Go" ], "filePatterns": [ "package.json$", "^Dockerfile", ".*\\.md$" ] }
-
name
- Obligatorio. El nombre del flujo de trabajo. Esta se muestra en la lista de flujos de trabajo disponibles. -
description
- Obligatorio. La descripción del flujo de trabajo. Esta se muestra en la lista de flujos de trabajo disponibles. -
iconName
- Opcional. Especifica un icono para el flujo de trabajo que se muestra en la lista de flujos de trabajo.iconName
puede ser uno de los siguientes tipos:- Un archivo SVG que se almacena en el directorio
workflow-templates
. Para hacer referencia a un archivo, el valor debe ser el nombre de archivo sin la extensión de archivo. Por ejemplo, se hace referencia a un archivo SVG denominadoexample-icon.svg
comoexample-icon
. - Un icono del conjunto de Octicons de GitHub. Para hacer referencia a un octicon, el valor debe ser
octicon <icon name>
. Por ejemplo:octicon smiley
.
- Un archivo SVG que se almacena en el directorio
-
categories
- Opcional. Define las categorías en las que se muestra el flujo de trabajo. Puede usar nombres de categoría de las listas siguientes:- Nombres de categoría generales del repositorio starter-workflows.
- Idiomas lingüistas de la lista del repositorio linguist.
- Pilas técnicas admitidas en la lista en el repositorio starter-workflows.
-
filePatterns
- Opcional. Permite usar el flujo de trabajo si el repositorio del usuario tiene un archivo en su directorio raíz que coincide con una expresión regular definida.
-
Para agregar otro flujo de trabajo inicial, agrega los archivos al mismo directorio workflow-templates
.
Pasos siguientes
Para continuar el aprendizaje sobre GitHub Actions, consulta "Utilizar flujos de trabajo iniciales".