Configuración de Acciones de GitHub con la CLI de Azure en Azure Container Apps
Azure Container Apps permite usar Acciones de GitHub para publicar revisiones en la aplicación de contenedor. A medida que se insertan confirmaciones en el repositorio de GitHub, se desencadena un flujo de trabajo de Acciones de GitHub, que actualiza la imagen de contenedor en el registro de contenedor. Una vez que el contenedor se actualiza en el Registro, Azure Container Apps crea una revisión basada en la imagen de contenedor actualizada.
El flujo de trabajo de Acciones de GitHub se ejecuta cuando existen confirmaciones en una rama específica del repositorio. Puede elegir qué rama desencadena la acción al configurar el flujo de trabajo.
En este artículo se muestra cómo generar un flujo de trabajo de inicio de Acciones de GitHub con la CLI de Azure. Para crear su propio flujo de trabajo que pueda personalizar completamente, consulte Implementación en Azure Container Apps con Acciones de GitHub.
Autenticación
Al agregar o quitar una integración de Acciones de GitHub, puede autenticarse pasando un token de acceso personal de GitHub o usando la experiencia interactiva de inicio de sesión de GitHub. La experiencia interactiva abre un formulario en el explorador web y le ofrece la oportunidad de iniciar sesión en GitHub. Una vez que se haya autenticado correctamente, se pasa de nuevo un token a la CLI que GitHub usará para el resto de la sesión actual.
- Para pasar un token de acceso personal, use el parámetro
--token
y proporcione un valor de token. - Si decide usar el inicio de sesión interactivo, use el parámetro
--login-with-github
sin ningún valor.
Nota:
El token de acceso personal de GitHub debe tener seleccionado el ámbito workflow
.
Sumar
El comando containerapp github-action add
crea una integración de Acciones de GitHub con la aplicación contenedora.
Nota:
Antes de continuar con el ejemplo determinado, debe tener ya implementada la primera aplicación de contenedor.
La primera vez que asocie Acciones de GitHub a la aplicación contenedora, deberá proporcionar un contexto de entidad de servicio. El comando siguiente le muestra cómo crear una entidad de servicio.
az ad sp create-for-rbac \
--name <SERVICE_PRINCIPAL_NAME> \
--role "contributor" \
--scopes /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>
A medida que interactúe con este ejemplo, reemplace los marcadores de posición rodeados por <>
por sus valores.
Los valores devueltos por este comando incluyen los valores appId
, password
y tenant
de la entidad de servicio. Debe pasar estos valores al comando az containerapp github-action add
.
En el ejemplo siguiente se muestra cómo agregar una integración mientras se usa un token de acceso personal.
az containerapp github-action add \
--repo-url "https://github.com/<OWNER>/<REPOSITORY_NAME>" \
--context-path "./dockerfile" \
--branch <BRANCH_NAME> \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--registry-url <URL_TO_CONTAINER_REGISTRY> \
--registry-username <REGISTRY_USER_NAME> \
--registry-password <REGISTRY_PASSWORD> \
--service-principal-client-id <appId> \
--service-principal-client-secret <password> \
--service-principal-tenant-id <tenant> \
--token <YOUR_GITHUB_PERSONAL_ACCESS_TOKEN>
A medida que interactúe con este ejemplo, reemplace los marcadores de posición rodeados por <>
por sus valores.
Mostrar
El comando containerapp github-action show
devuelve los valores de configuración de Acciones de GitHub para una aplicación contenedora.
En este ejemplo se muestra cómo agregar una integración mientras se usa el token de acceso personal.
az containerapp github-action show \
--resource-group <RESOURCE_GROUP_NAME> \
--name <CONTAINER_APP_NAME>
A medida que interactúe con este ejemplo, reemplace los marcadores de posición rodeados por <>
por sus valores.
Este comando devuelve una carga de JSON con los valores de configuración de la integración de Acciones de GitHub.
Eliminar
El comando containerapp github-action delete
quita las Acciones de GitHub de la aplicación contenedora.
az containerapp github-action delete \
--resource-group <RESOURCE_GROUP_NAME> \
--name <CONTAINER_APP_NAME> \
--token <YOUR_GITHUB_PERSONAL_ACCESS_TOKEN>
A medida que interactúe con este ejemplo, reemplace los marcadores de posición rodeados por <>
por sus valores.