Nota
Esta acción de GitHub aún no admite proyectos de CircleCI que estén integrados con la aplicación CircleCI GitHub. Si la URL de su proyecto CircleCI se ve así: https://app.circleci.com/projects/organizations/circleci%
, se está integrando con la aplicación CircleCI GitHub y esta acción de GitHub aún no es compatible. Comuníquese con [email protected] si tiene alguna pregunta o comentario. Si la URL de su proyecto CircleCI se ve así: https://app.circleci.com/projects/project-dashboard/github/
, está utilizando la integración de la aplicación OAuth de CircleCI y esta acción de GitHub es compatible.
Active sus canalizaciones de CircleCI desde cualquier evento en GitHub con GitHub Actions.
Cree un flujo de trabajo de GitHub Action para la canalización de CircleCI deseada.
Haga esto agregando un archivo YAML de flujo de trabajo (usaremos main.yml
) a ./.github/workflows
.
En este ejemplo se muestra un disparador release
. Pruebe cualquiera de los eventos de GitHub para activar flujos de trabajo: https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows
Seleccione un nombre personalizado y una identificación para el paso para obtener metadatos contextuales adicionales en su canalización de CircleCI.
en: lanzamiento: tipos: [publicado] trabajos: trigger-circleci: se ejecuta en: ubuntu-últimos pasos: - nombre: <personalizar nombre> id: <personalizar id> usos: CircleCI-Public/[email protected] env: CCI_TOKEN: ${{ secrets.CCI_TOKEN }}
Cree un secreto cifrado denominado CCI_TOKEN
que contenga el token de API personal que se utilizará para activar las canalizaciones. Se sugiere ser un usuario de la máquina.
Agregue las definiciones de parámetros de canalización a su configuración de CircleCI. Estos datos serán ingresados por la Acción de GitHub cuando se active.
Agregue lo siguiente en la parte superior de su archivo .circleci/config.yml
. Asegúrese de especificar la versión 2.1
versión: 2.1parámetros: GHA_Actor: tipo: cadena predeterminada: "" GHA_Action: tipo: cadena predeterminada: "" GHA_Event: tipo: cadena predeterminada: "" GHA_Meta: tipo: cadena predeterminada: ""
Utilice los datos del parámetro de canalización para ejecutar flujos de trabajo de forma condicional.
Ver: Ejemplos
Parámetros de entrada opcionales que le permiten especificar metadatos adicionales.
requerido: falso
descripción : un parámetro de metadatos adicional opcional. Estará disponible en el canal CircleCI como GHA_Meta.
trabajos: trigger-circleci: se ejecuta en: ubuntu-últimos pasos: - nombre: <personalizar nombre> id: <personalizar id> utiliza: CircleCI-Public/[email protected] con: GHA_Meta: "<datos personalizados>" env: CCI_TOKEN: ${{ secrets.CCI_TOKEN }}
requerido: falso
descripción : El slug del proyecto CircleCI del proyecto de destino (por ejemplo: github/<org>/<repo>
). Si no se especifica, se utilizará el slug del repositorio de GitHub actual.
trabajos: trigger-circleci: se ejecuta en: ubuntu-últimos pasos: - nombre: <personalizar nombre> id: <personalizar id> utiliza: CircleCI-Public/[email protected] con: target-slug: "gh/<org>/<repo>" # Activará la canalización para el entorno del proyecto externo: CCI_TOKEN: ${{ secrets.CCI_TOKEN }}
Campo | Tipo de datos | Descripción |
---|---|---|
id | cadena (uuid) | El ID único de la canalización. |
state | cadena (Enumeración: "creado" "con error" "configuración pendiente" "configuración" "pendiente") | El estado actual del oleoducto. |
number | entero (int64) | El número del oleoducto. |
created_at | cadena (fecha-hora) | La fecha y hora en que se creó la canalización. |
De forma predeterminada, cuando un repositorio está conectado a CircleCI, si los flujos de trabajo dentro de la configuración de ese proyecto no especifican ningún condicional o filtro que de otro modo impediría la ejecución, el flujo de trabajo se ejecutará en cada evento push
de forma predeterminada.
Esto puede significar que es posible ejecutar accidentalmente un trabajo dos veces, una vez en el evento push
de CircleCI, así como otros eventos desencadenados por la acción de GitHub.
Si confía en GitHub Actions para proporcionar todos sus activadores de API, asegúrese de que cada uno de los flujos de trabajo de su configuración de CircleCI contenga un condicionante que limite su ejecución solo al activador de GitHub Action.
Ejemplo
flujos de trabajo: # Este flujo de trabajo está configurado para activarse condicionalmente, # solo a través de la acción de GitHub. # Sin otros flujos de trabajo sin filtrar, se ignorarán los eventos push normales. prueba: cuando: << pipeline.parameters.GHA_Action >> trabajos: - prueba