Integración de Bitbucket
Puede configurar el repositorio de Bitbucket para que cree e implemente automáticamente un entorno cuando inserte cambios en el código. Esta integración sincroniza su repositorio de Bitbucket con su cuenta de Adobe Commerce en la infraestructura de la nube.
Requisitos previos
- Acceso de administrador al proyecto de Adobe Commerce en la nube
magento-cloud
herramienta CLI en su entorno local- Una cuenta de Bitbucket
- Acceso de administrador al repositorio de Bitbucket
- Una clave de acceso SSH para el repositorio de Bitbucket
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 Bitbucket 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.
code language-bash magento-cloud login
-
Enumere sus proyectos y copie el ID del proyecto.
code language-bash magento-cloud project:list
-
Clone el proyecto en el entorno local.
code language-bash magento-cloud project:get <project-ID>
-
Añada el repositorio de Bitbucket como remoto.
code language-bash git remote add origin git@bitbucket.org:<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 Bitbucket.
code language-bash git remote -v
Respuesta esperada:
code language-none origin git@bitbucket.org:<user-name>/<repo-name>.git (fetch) origin git@bitbucket.org:<user-name>/<repo-name>.git (push)
-
Inserte los archivos del proyecto en el nuevo repositorio de Bitbucket. Recuerde mantener todos los nombres de rama iguales.
code language-bash git push -u origin master
Si está empezando con un nuevo repositorio de bloque de bits, 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 Bitbucket contenga todos los archivos de proyecto.
Crear un consumidor de OAuth
La integración de Bitbucket requiere un consumidor de OAuth. Necesita OAuth key
y secret
de este consumidor para completar la siguiente sección.
Para crear un consumidor de OAuth en Bitbucket:
-
Inicie sesión en su cuenta de Bitbucket.
-
Haga clic en Configuración > Administración de acceso > OAuth.
-
Haga clic en Agregar consumidor y configúrelo de la siguiente manera:
note warning WARNING No se requiere una URL de devolución de llamada válida, pero debe escribir un valor en este campo para completar correctamente la integración. -
Haga clic en Guardar.
-
Haga clic en el consumidor Name para mostrar su OAuth
key
ysecret
. -
Copie sus OAuth
key
ysecret
para configurar la integración.
Configuración de la integración
-
Desde el terminal, vaya a su proyecto de infraestructura de Adobe Commerce en la nube.
-
Cree un archivo temporal denominado
bitbucket.json
y agregue lo siguiente; reemplace las variables entre corchetes angulares por sus valores:code language-json { "type": "bitbucket", "repository": "<bitbucket-user-name/bitbucket-repo-name>", "app_credentials": { "key": "<oauth-consumer-key>", "secret": "<oauth-consumer-secret>" }, "prune_branches": true, "fetch_branches": true, "build_pull_requests": true, "resync_pull_requests": true }
note tip TIP Asegúrese de utilizar el nombre del repositorio de Bitbucket y no la dirección URL. La integración falla si utiliza una dirección URL. -
Agregue la integración a su proyecto utilizando la herramienta CLI
magento-cloud
.note warning WARNING El siguiente comando sobrescribe el código all de su proyecto de infraestructura de Adobe Commerce en la nube con el código de su repositorio de Bitbucket. Esto incluye todas las ramas, incluida la rama 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 Bitbucket antes de agregar la integración de Bitbucket.code language-bash magento-cloud project:curl -p '<project-ID>' /integrations -i -X POST -d "$(< bitbucket.json)"
Esto devuelve una respuesta HTTP larga con encabezados. Una integración correcta devuelve un código de estado 200 o 201. Un estado de 400 o superior indica que se ha producido un error.
-
Eliminar el archivo temporal
bitbucket.json
. -
Compruebe la integración del proyecto.
code language-bash magento-cloud integrations -p <project-ID>
code language-none +----------+-----------+--------------------------------------------------------------------------------+ | ID | Type | Summary | +----------+-----------+--------------------------------------------------------------------------------+ | <int-id> | bitbucket | Repository: bitbucket_Account/magento-int | | | | Hook URL: | | | | https://magento-url.cloud/api/projects/<project-id>/integrations/<int-id>/hook | +----------+-----------+--------------------------------------------------------------------------------+
Tome nota de la URL de enlace para configurar un enlace web en BitBucket.
Añadir un webhook en BitBucket
Para poder comunicar eventos (como una notificación push) con su servidor Cloud Git, es necesario tener un webhook para su repositorio BitBucket. El método de configuración de una integración de Bitbucket detallado en esta página, cuando se sigue correctamente, crea automáticamente un webhook. Es importante verificar el webhook para evitar la creación de múltiples integraciones.
-
Inicie sesión en su cuenta de Bitbucket.
-
Haga clic en Repositorios y seleccione el proyecto.
-
Haga clic en Configuración del repositorio > Flujo de trabajo > Webhooks.
-
Verifique el webhook antes de continuar.
Si el vínculo está activo, omita los pasos restantes y Pruebe la integración. El enlace debe tener un nombre similar a "Adobe Commerce en la infraestructura en la nube <project_id>" y un formato de URL de enlace similar a:
https://<zone>.magento.cloud/api/projects/<project_id>/integrations/<id>/hook
-
Haga clic en Agregar gancho web.
-
En la vista Agregar nuevo gancho web, edite los campos siguientes:
- Título: Integración de Adobe Commerce
- URL: utiliza la URL de enlace de tu lista de integración de
magento-cloud
- Déclencheur: El valor predeterminado es una inserción de repositorio básica
-
Haga clic en Guardar.
Prueba de la integración
Después de configurar la integración de Bitbucket, puede verificar que la integración esté operativa mediante la CLI magento-cloud
:
magento-cloud integration:validate
O puede probarlo insertando un cambio simple en su repositorio de Bitbucket.
-
Cree un archivo de prueba.
code language-bash touch test.md
-
Confirme y envíe el cambio al repositorio de Bitbucket.
code language-bash git add . && git commit -m "Testing Bitbucket 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.
Crear una rama de nube
La integración de Bitbucket no puede activar nuevos entornos en su proyecto de Adobe Commerce en la nube. Si crea un entorno con Bitbucket, debe activarlo manualmente. Para evitar este paso adicional, se recomienda crear entornos utilizando la herramienta CLI magento-cloud
o Cloud Console.
Para activar una rama creada con Bitbucket:
-
Utilice la CLI
magento-cloud
para insertar la rama.code language-bash magento-cloud environment:push from-bitbucket
code language-none Pushing from-bitbucket to the new environment from-bitbucket Activate from-bitbucket after pushing? [Y/n] y Parent environment [master]: integration --- (Validation and activation messages)
-
Compruebe que el entorno esté activo.
code language-bash magento-cloud environment:list
code language-none Your environments are: +---------------------+----------------+--------+ | ID | Name | Status | +---------------------+----------------+--------+ | master | Master | Active | | integration | integration | Active | | from-bitbucket * | from-bitbucket | Active | +---------------------+----------------+--------+ * - Indicates the current environment
Después de crear un entorno, puede insertar la rama correspondiente en el repositorio remoto de Bitbucket utilizando comandos normales de Git. Los cambios posteriores en la rama en Bitbucket generan e implementan automáticamente el entorno.
Eliminación de la integración
Puede eliminar de forma segura la integración de Bitbucket de su proyecto sin afectar al código.
Para quitar la integración de Bitbucket:
-
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 Bitbucket para completar el siguiente paso.
code language-bash magento-cloud integration:list
-
Elimine la integración.
code language-bash magento-cloud integration:delete <int-ID>
Además, puede eliminar la integración de Bitbucket iniciando sesión en su cuenta de Bitbucket y revocando la concesión de OAuth en la página de la cuenta Configuración.
Integración del servidor Bitbucket
Para utilizar la integración del servidor Bitbucket, necesita lo siguiente:
- Token de acceso Bitbucket—Genere un token que conceda acceso al Proyecto
read
y acceso al Repositorioadmin
- URL del servidor Bitbucket—Añada la URL base de su instancia de Bitbucket
Aunque puede utilizar la CLI de nube para recorrer los pasos de integración del servidor Bitbucket, el comando completo tiene un aspecto similar al siguiente:
magento-cloud integration:add --type=bitbucket_server --base-url=<bitbucket-url> --username=<username> --token=<bitbucket-access-token> --project=<project-ID>
Use el comando de ayuda para obtener más opciones y requisitos de uso: magento-cloud integration:add --help