Integración de GitHub
- Temas:
- Nube
Creado para:
- Administrador
- Desarrollador
La integración de GitHub le permite administrar su Adobe Commerce en entornos de infraestructura en la nube directamente desde su repositorio de GitHub. La integración administra el contenido que ya se encuentra en GitHub y se sincroniza con su repositorio de código de Adobe Commerce en la infraestructura de la nube. Básicamente, el repositorio de código se convierte en un reflejo del repositorio de GitHub.
Esta integración le permite:
- Crear un entorno al crear una rama
- Volver a implementar el entorno al combinar una solicitud de extracción
- Elimine el entorno cuando elimine la rama
Debe obtener un token de GitHub y un webhook para continuar con el proceso.
Requisitos previos
- Acceso de administrador al proyecto de Adobe Commerce en la nube
- Repositorio de GitHub
- Token de acceso personal de GitHub
Generar un token de GitHub
Cree un token de acceso personal clásico en la configuración de desarrollador de GitHub. Debe ser miembro de un grupo con acceso de escritura al repositorio de GitHub, para poder insertar en el repositorio. Incluya los siguientes ámbitos al crear el token:
admin:repo_hook
: crear enlaces webrepo
: integración con el repositorioread:org
: integración con el repositorio de su organización
Ver GitHub: crear.
Preparación del repositorio
Clone su proyecto de Adobe Commerce en la nube desde un entorno existente y migre las ramas del proyecto a un nuevo repositorio de GitHub vacío, preservando los mismos nombres de rama. Es esencial conservar un árbol Git idéntico, de modo que no se pierda ningún entorno o rama existente en su proyecto de Adobe Commerce en la nube.
-
Desde el terminal, inicie sesión en su proyecto de infraestructura de Adobe Commerce en la nube.
magento-cloud login
-
Enumere sus proyectos y copie el ID del proyecto.
magento-cloud project:list
-
Clone el proyecto en el entorno local.
magento-cloud project:get <project-ID>
-
Añada su repositorio de GitHub como remoto.
git remote add origin git@github.com:<user-name>/<repo-name>.git
El nombre predeterminado de la conexión remota puede ser
origin
omagento
. Si existeorigin
, puede elegir un nombre diferente o puede cambiar el nombre de la referencia existente o eliminarla. Consulte documentación remota de git. -
Compruebe que ha agregado correctamente el control remoto de GitHub.
git remote -v
Respuesta esperada:
origin git@github.com:<user-name>/<repo-name>.git (fetch) origin git@github.com:<user-name>/<repo-name>.git (push)
-
Inserte los archivos del proyecto en el nuevo repositorio de GitHub. Recuerde mantener todos los nombres de rama iguales.
git push -u origin master
Si está empezando con un nuevo repositorio de GitHub, es posible que tenga que utilizar la opción
-f
, ya que el repositorio remoto no coincide con la copia local. -
Compruebe que el repositorio de GitHub contiene todos los archivos de proyecto.
Habilitar la integración con GitHub
Antes de empezar, el código y los entornos del proyecto deben estar en el repositorio de GitHub. Después de habilitar la integración, el repositorio de GitHub se convierte en el origen del código. Si inserta cambios de código en el repositorio original de magento
, la integración los sobrescribirá cuando inserte cambios de código en el repositorio de GitHub.
A continuación se habilita la integración de GitHub y se proporciona una URL de carga útil para utilizarla al crear un webhook.
production
. Esta acción se produce de forma inmediata y no se puede deshacer. Como práctica recomendada, es importante clonar todas las ramas de su proyecto de infraestructura de Adobe Commerce en la nube e insertarlas en el repositorio de GitHub antes de añadir la integración de GitHub.Puede elegir avanzar por las indicaciones de CLI mediante magento-cloud integration:add
o puede generar el comando de integración con las siguientes opciones:
--base-url
https://github.com/
o una personalizada. Omita esta opción si el repositorio está alojado con Github público o si el repositorio no está alojado en servidores privados. Omita esta opción si la dirección URL del repositorio es similar a https://github.com/{account}/{repository-name}
. Esto puede causar errores como Unable to connect to GitHub: repository not found
.--token
--repository
owner-or-organisation/repository
--build-pull-requests
true
de forma predeterminada)--fetch-branches
true
de forma predeterminada)--prune-branches
true
de forma predeterminada)Hay muchas más opciones y puede verlas con la opción de ayuda:
magento-cloud integration:add --help
Para habilitar la integración de GitHub:
-
Habilite la integración.
magento-cloud integration:add --type=github --project=<project-ID> --token=<your-GitHub-token> {--repository=USER/REPOSITORY | --repository=ORGANIZATION/REPOSITORY} [--build-pull-requests={true|false} --fetch-branches={true|false}
Ejemplo 1: habilita la integración de GitHub para un repositorio personal y privado:
magento-cloud integration:add --type=github --project=ov58dlacU2e --base-url=https://github.com --token=<token> --repository=myUserName/myrepo
Ejemplo 2: habilita la integración de GitHub para un repositorio de la organización:
magento-cloud integration:add --type=github --project=ov58dlacU2e --base-url=https://github.com --token=<token> --repository=Magento/teamrepo
-
Introduzca la información necesaria cuando se le solicite.
-
Copie la URL de carga útil mostrada por el resultado devuelto.
Created integration <integration-ID> (type: github) Repository: myUserName/myrepo Build PRs: yes Fetch branches: yes Payload URL: https://us.magento.cloud/api/projects/<project-id>/integrations/wO8a0eoamxwcg/hook
Añadir el webhook en GitHub
Para comunicar eventos, como una notificación push, con el servidor Git de Cloud, debe crear un webhook para el repositorio de GitHub:
-
En el repositorio de GitHub, haga clic en la ficha Configuración.
-
En la barra de navegación izquierda, haga clic en Webhooks.
-
En el panel Webhooks, haga clic en Agregar webhook.
-
En el formulario Webhooks/Add webhook, edite los campos siguientes:
- URL de carga útil: escribe la URL devuelta cuando habilitaste la integración de GitHub.
- Tipo de contenido: elige application/json de la lista.
- Secreto: escribe un secreto de verificación.
- ¿Qué eventos desea almacenar en déclencheur este enlace web?: selecciona Enviarme todo.
- Seleccione la casilla Activo.
-
Haga clic en Agregar gancho web.
Prueba de la integración
Después de configurar la integración de GitHub, puede comprobar que la integración está operativa mediante la CLI magento-cloud
:
magento-cloud integration:validate
O puede probarlo insertando un cambio simple en el repositorio de GitHub.
-
Cree un archivo de prueba.
touch test.md
-
Confirme y envíe el cambio al repositorio de GitHub.
git add . && git commit -m "Testing GitHub integration" && git push
-
Inicie sesión en Cloud Console y compruebe que se muestra el mensaje de confirmación y que se implementa el proyecto.
Eliminación de la integración
Puede quitar de forma segura la integración de GitHub del proyecto sin afectar al código.
Para quitar la integración de GitHub:
-
Desde el terminal, inicie sesión en su proyecto de infraestructura de Adobe Commerce en la nube.
-
Enumere las integraciones. Necesita el ID de integración de GitHub para completar el siguiente paso.
magento-cloud integration:list
-
Elimine la integración.
magento-cloud integration:delete <int-ID>
Además, puede quitar la integración de GitHub iniciando sesión en su cuenta de GitHub y quitando el enlace web en la pestaña Webhooks del repositorio Settings.