Integración de CodeDeploy con GitHub - AWS CodeDeploy

Integración de CodeDeploy con GitHub

CodeDeploy es compatible con GitHub, un servicio de alojamiento y uso compartido de código basado en web. CodeDeploy puede implementar en instancias las revisiones de aplicaciones almacenadas en repositorios GitHub o buckets de Amazon S3. CodeDeploy solo es compatible con GitHub para implementaciones de EC2/en las instalaciones.

Implementación de revisiones de CodeDeploy desde GitHub

Para implementar en instancias una revisión de una aplicación desde un repositorio de GitHub:

  1. Cree una revisión compatible con CodeDeploy y con el tipo de instancia de Amazon EC2 en la que la va a implementar.

    Para crear una revisión compatible, siga las instrucciones indicadas en Planificación de una revisión de CodeDeploy y Adición de un archivo de especificación de aplicación a una revisión para CodeDeploy.

  2. Utilice una cuenta de GitHub para agregar la revisión a un repositorio de GitHub.

    Para crear una cuenta de GitHub, consulte Join GitHub. Para crear un repositorio de GitHub, consulte Creación de un repositorio.

  3. Utilice la página Crear implementación de la consola de CodeDeploy o el comando de la AWS CLI create-deployment para implementar la revisión desde el repositorio de GitHub en las instancias de destino configuradas para su uso en implementaciones de CodeDeploy.

    Si desea llamar al comando create-deployment, primero debe utilizar la página Crear implementación de la consola para conceder a CodeDeploy el permiso para interactuar con GitHub en nombre de la cuenta de GitHub que prefiera para la aplicación especificada. Solamente es necesario hacerlo una vez para cada aplicación.

    Para saber cómo usar la página Create deployment para implementar desde un repositorio de GitHub, consulte Creación de una implementación con CodeDeploy.

    Para saber cómo ejecutar el comando create-deployment para implementar desde un repositorio de GitHub, consulte Creación de una implementación en una plataforma de informática EC2/en las instalaciones (CLI).

    Para saber cómo preparar instancias para su uso en implementaciones de CodeDeploy, consulte Trabajo con instancias para CodeDeploy.

Para obtener más información, consulte Tutorial: Uso de CodeDeploy para implementar una aplicación desde GitHub.

Comportamientos de GitHub con CodeDeploy

Autenticación en GitHub con aplicaciones de CodeDeploy

Una vez concedido a CodeDeploy el permiso para interactuar con GitHub, la asociación entre la cuenta de GitHub y la aplicación se almacena en CodeDeploy. Es posible vincular la aplicación a otra cuenta de GitHub. También se puede revocar el permiso para que CodeDeploy interactúe con GitHub.

Para vincular una cuenta de GitHub a una aplicación de CodeDeploy
  1. Inicie sesión en la Consola de administración de AWS y abra la consola de CodeDeploy en https://console.aws.amazon.com/codedeploy.

    nota

    Inicie sesión con el mismo usuario que configuró en Introducción a CodeDeploy.

  2. En el panel de navegación, expanda Implementar y, después, elija Aplicaciones.

  3. Elija la aplicación que desea vincular a otra cuenta de GitHub.

  4. Si la aplicación no tiene un grupo de implementación, elija Crear grupo de implementación para crear uno. Para obtener más información, consulte Creación de un grupo de implementación con CodeDeploy. Se requiere un grupo de implementaciones para elegir Create deployment (Crear implementación) en el paso siguiente.

  5. En Deployments (Implementaciones), elija Create deployment (Crear implementación).

    nota

    No es necesario crear una nueva implementación. Actualmente, esta es la única forma de vincular una cuenta de GitHub distinta a una aplicación.

  6. En Deployment settings (Configuración de implementación), para Revision type (Tipo de revisión), elija My application is stored in GitHub (Mi aplicación está almacenada en GitHub).

  7. Realice una de las siguientes acciones:

    • Para crear una conexión entre aplicaciones de AWS CodeDeploy y una cuenta de GitHub, cierre la sesión de GitHub en otra pestaña del navegador web. En GitHub token name (Nombre de token de GitHub), escriba el nombre para identificar esta conexión y luego elija Connect to GitHub (Conectarse a GitHub). La página web le pedirá que autorice a CodeDeploy para interactuar con GitHub para la aplicación. Continúe en el paso 10.

    • Para utilizar una conexión que haya creado previamente, seleccione su nombre en GitHub token name (Nombre de token de GitHub) y, a continuación, elija Connect to GitHub (Conectarse a GitHub). Continúe en el paso 8.

    • Para crear una conexión con una cuenta de GitHub distinta, cierre la sesión de GitHub en otra pestaña del navegador web. En GitHub token name (Nombre de token de GitHub), escriba el nombre para identificar la conexión y luego elija Connect to GitHub (Conectarse a GitHub). La página web le pedirá que autorice a CodeDeploy para interactuar con GitHub para la aplicación. Continúe en el paso 10.

  8. Si todavía no ha iniciado sesión en GitHub, siga las instrucciones de la página Sign in para iniciar sesión con la cuenta de GitHub a la que desea enlazar la aplicación.

  9. Elija Authorize application. GitHub asignará a CodeDeploy permiso para interactuar en nombre de la cuenta con la que ha iniciado sesión para la aplicación seleccionada.

  10. Si no desea crear una implementación, elija Cancel.

Para revocar el permiso concedido a CodeDeploy para que interactúe con GitHub
  1. Inicie sesión en GitHub utilizando las credenciales de la cuenta de GitHub cuyos permisos desea revocar a AWS CodeDeploy.

  2. Abra la página Aplicaciones de GitHub, localice CodeDeploy en la lista de aplicaciones autorizadas y, a continuación, siga el procedimiento de GitHub para revocar la autorización para una aplicación.

Interacción de CodeDeploy con repositorios de GitHub privados y públicos

CodeDeploy permite la implementación de aplicaciones desde repositorios de GitHub públicos y privados. Al conceder a CodeDeploy permiso de acceso a GitHub en su nombre, CodeDeploy tendrá acceso de lectura y escritura a todos los repositorios de GitHub privados a los que su cuenta de GitHub tenga acceso. Sin embargo, CodeDeploy solo lee en los repositorios de GitHub. No escribirá nada en ninguno de sus repositorios de GitHub privados.

Interacción de CodeDeploy con repositorios de GitHub administrados por una organización

De forma predeterminada, los repositorios de GitHub administrados por una organización (a diferencia de los repositorios públicos o privados de su cuenta personal) no conceden acceso a aplicaciones de terceros, como es el caso de CodeDeploy. Si intenta implementar código desde un repositorio de GitHub de una organización y esta ha definido restricciones a las aplicaciones de terceros, la operación fallará. Existen dos maneras de resolver este problema.

Para obtener más información, consulte Acerca de las restricciones a las aplicaciones de terceros.

Implementación automática desde CodePipeline con CodeDeploy

Es posible activar una implementación desde CodePipeline cada vez que cambie el código fuente. Para obtener más información, consulte CodePipeline.