Editar una canalización en CodePipeline - AWS CodePipeline

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Editar una canalización en CodePipeline

Las canalizaciones describen el proceso de lanzamiento que desea que siga AWS CodePipeline e incluyen las etapas y las acciones que es necesario completar. Puede editar una canalización para añadir o eliminar dichos elementos. Sin embargo, al editar una canalización, ciertos valores como, por ejemplo, el nombre o los metadatos de la canalización no pueden modificarse.

Puede editar el tipo de canalización, las variables y los desencadenadores mediante la página de edición de la canalización. También puede agregar o cambiar etapas y acciones de la canalización.

A diferencia de lo que sucede al crearla, cuando se edita una canalización no se vuelve a ejecutar en ella la revisión más reciente. Si desea ejecutar la versión más reciente en una canalización que acaba de editar, tendrá que volver a ejecutarla manualmente. De lo contrario, la canalización editada se ejecuta la próxima vez que realice un cambio en una ubicación de origen configurada en la etapa de origen. Para obtener más información, consulte Iniciar la canalización manualmente.

Puede añadir a una canalización acciones que se encuentren en una región de AWS diferente a la de la canalización. Cuando un Servicio de AWS es el proveedor de una acción y este tipo de acción o de proveedor se encuentran en una región de AWS diferente a la de la canalización, se trata de una acción entre regiones. Para obtener más información sobre las acciones entre regiones, consulte Agregar una acción entre regiones en CodePipeline.

CodePipeline utiliza métodos de detección de cambios para iniciar tu canalización cuando se introduce un cambio en el código fuente. Estos métodos de detección se basan en el tipo de código fuente:

  • CodePipeline usa Amazon CloudWatch Events para detectar cambios en el repositorio de CodeCommit origen o en el bucket de código fuente de Amazon S3.

nota

Los recursos de detección de cambios se crean automáticamente cuando se utiliza la consola. Si utiliza la consola para crear o editar una canalización, los recursos adicionales se crean automáticamente. Si utiliza la AWS CLI para crear la canalización, debe crear los recursos adicionales. Para obtener más información sobre cómo crear o actualizar una CodeCommit canalización, consulteCrear una EventBridge regla para una CodeCommit fuente (CLI). Para obtener más información acerca de la creación o actualización de una canalización de Amazon S3 mediante la CLI, consulte Crear una EventBridge regla para una fuente de Amazon S3 (CLI).

Editar una canalización (consola)

Puede utilizar la CodePipeline consola para añadir, editar o eliminar etapas de una canalización y para añadir, editar o eliminar acciones de una etapa.

Al actualizar una canalización, se completan CodePipeline correctamente todas las acciones en ejecución y, a continuación, se produce un error en las etapas y ejecuciones de la canalización en las que se completaron las acciones en ejecución. Cuando se actualice una canalización, tendrá que volver a ejecutarla. Para obtener más información sobre la ejecución de una canalización, consulte Iniciar la canalización manualmente.

Para editar una canalización
  1. Inicia sesión en la CodePipeline consola AWS Management Console y ábrela en http://console.aws.amazon.com/codesuite/codepipeline/home.

    Se muestran los nombres de todas las canalizaciones asociadas con su cuenta de AWS.

  2. En Nombre, elija el nombre de la canalización que desea editar. Esto abre una vista detallada de la canalización, que incluye el estado de cada una de las acciones en cada etapa de la canalización.

  3. En la página de detalles de la canalización, elija Edit.

  4. Para editar el tipo de canalización, elija Editar en la tarjeta Propiedades de Editar: canalización. Elija una de las siguientes opciones y, a continuación, elija Listo.

    • Las canalizaciones de tipo V1 tienen una estructura JSON que contiene parámetros estándares de canalización, etapa y nivel de acción.

    • Las canalizaciones de tipo V2 tienen la misma estructura que las de tipo V1, además de compatibilidad con parámetros adicionales, como los desencadenadores y las variables a nivel de canalización.

    Los tipos de canalización difieren en características y precio. Para obtener más información, consulte Tipos de canalización.

  5. Para editar las variables de la canalización, seleccione Editar variables en la tarjeta Editar: variables. Agregue o cambie variables para el nivel de canalización y, a continuación, seleccione Listo.

    Para obtener más información acerca de las variables a nivel de canalización, consulte Variables. Para ver un tutorial con una variable a nivel de canalización que se transfiere en el momento de la ejecución de la canalización, consulte Tutorial: Uso de variables a nivel de canalización.

    nota

    Si bien es opcional añadir variables a nivel de canalización, en el caso de una canalización especificada con variables a nivel de canalización en la que no se proporcionen valores, la ejecución de la canalización fallará.

  6. Para editar los desencadenadores de la canalización, elija Editar desencadenadores en la tarjeta Editar: desencadenadores. Agregue o cambie los desencadenadores y, a continuación, seleccione Listo.

    Para obtener más información sobre cómo añadir activadores, consulta los pasos para crear una conexión a Bitbucket Cloud GitHub (versión 2), GitHub Enterprise Server, GitLab .com o GitLab autogestionada, como. GitHub conexiones

  7. Para editar las etapas y las acciones en la página Editar, realice una de las siguientes operaciones:

    • Para editar una etapa, elija Edit stage (Editar etapa) Puede añadir acciones en serie y en paralelo con las acciones existentes:

      También puede editar las acciones en esta vista eligiendo el icono de edición correspondiente. Para eliminar una acción, elija el icono de eliminación de esa acción.

    • Para editar una acción, elija el icono de edición de dicha acción y modifique los valores que desee en Edit action. Los elementos marcados con un asterisco (*) son obligatorios.

      • Para el nombre y la rama del CodeCommit repositorio, aparece un mensaje que muestra la regla de Amazon CloudWatch Events que se va a crear para esta canalización. Si eliminas la CodeCommit fuente, aparecerá un mensaje en el que se indica la regla de Amazon CloudWatch Events que se va a eliminar.

      • En el caso de un bucket de origen de Amazon S3, aparece un mensaje que muestra la regla y el seguimiento de Amazon CloudWatch AWS CloudTrail Events que se van a crear para esta canalización. Si elimina la fuente de Amazon S3, aparecerá un mensaje con la regla y el registro de Amazon CloudWatch Events AWS CloudTrail que se van a eliminar. Si otras canalizaciones están usando el registro de seguimiento de AWS CloudTrail, no se quita el registro de seguimiento y se elimina el evento de datos.

    • Para añadir una etapa, elija + Add stage (Añadir etapa) en el lugar de la canalización en el que desea añadirla. Dé un nombre a la etapa y después añada al menos una acción. Los elementos marcados con un asterisco (*) son obligatorios.

    • Para eliminar una etapa, elija el icono de eliminación en esa etapa. Se eliminan la etapa y todas sus acciones.

    Por ejemplo, si desea agregar una acción en serie a una etapa de una canalización:

    1. En la etapa a la que desee añadir la acción, elija Edit stage (Editar etapa) y, a continuación, añádala haciendo clic en + Add action group (Añadir grupo de acciones).

    2. En el cuadro emergente Edit action (Editar acción), en Action name (Nombre de acción), escriba el nombre de la acción. En la lista Action provider (Proveedor de acciones) se muestran opciones organizadas por categoría. Identifique la categoría que quiera, por ejemplo, Deploy (Implementación). Una vez allí, elija el proveedor que quiera, (por ejemplo, AWS CodeDeploy). En Región, elija la región de AWS en la que se crea o tiene previsto crear el recurso. El campo Región designa dónde se crean los recursos de AWS para este tipo de acción y de proveedor. Este campo solo se muestra en el caso de las acciones en las que el proveedor de la acción es un Servicio de AWS. El campo Región se establece de forma predeterminada en la misma región de AWS que la canalización.

      Para obtener más información sobre los requisitos para las acciones en CodePipeline, incluidos los nombres de los artefactos de entrada y salida y cómo se utilizan, consulteRequisitos de la estructura de las acciones de CodePipeline. Para ver ejemplos de la adición de proveedores de acciones y del uso de campos predeterminados para cada uno, consulte Crear una canalización (consola).

      Para añadir CodeBuild una acción de compilación o una acción de prueba a un escenario, consulte Utilización CodePipeline con CodeBuild para probar código y ejecutar compilaciones en la Guía del CodeBuild usuario.

      nota

      Algunos proveedores de acciones, por ejemplo GitHub, requieren que te conectes al sitio web del proveedor para poder completar la configuración de la acción. Al conectarse al sitio web de un proveedor, asegúrese de usar las credenciales correspondientes a dicho sitio web. No use las credenciales de AWS.

    3. Cuando haya terminado de configurar la acción, elija Save (Guardar).

    nota

    No puede cambiar el nombre de una etapa en la vista de la consola. Puede agregar una etapa con el nombre que desea cambiar y, después, eliminar la antigua. Asegúrese de añadir las acciones con las que desea contar en esa etapa antes de eliminar las antiguas.

  8. Cuando haya terminado de editar la canalización, elija Save (Guardar) para volver a la página de resumen.

    importante

    Una vez guardados los cambios, estos no se pueden deshacer. Deberá volver a editar la canalización. Si se ejecuta una revisión en la canalización al guardar los cambios, dicha ejecución no se completa. Si desea una confirmación específica o cambiar la ejecución en la canalización editada, deberá ejecutarla manualmente en la canalización. De lo contrario, la siguiente confirmación o cambio se ejecuta automáticamente en la canalización.

  9. Para probar la acción, seleccione Liberar cambio para procesar la confirmación a través de la canalización y confirmar un cambio en la fuente especificada en la etapa de origen de la canalización. O bien, siga los pasos que se indican en Iniciar la canalización manualmente para lanzar manualmente un cambio mediante la AWS CLI.

Editar una canalización (AWS CLI)

Puede usar el comando update-pipeline para editar una canalización.

Al actualizar una canalización, se completan CodePipeline correctamente todas las acciones en ejecución y, a continuación, se produce un error en las etapas y ejecuciones de la canalización en las que se completaron las acciones en ejecución. Cuando se actualice una canalización, tendrá que volver a ejecutarla. Para obtener más información sobre la ejecución de una canalización, consulte Iniciar la canalización manualmente.

importante

Es posible utilizar la AWS CLI para editar canalizaciones que incluyan acciones de socios, pero no se debe editar manualmente la codificación JSON de una acción de socio. De lo contrario, la acción del socio produce un error al actualizar la canalización.

Para editar una canalización
  1. Abra una sesión de terminal (Linux, macOS o Unix) o un símbolo del sistema (Windows) y ejecute el comando get-pipeline para copiar la estructura de canalización en un archivo JSON. Por ejemplo, para una canalización llamada MyFirstPipeline, escriba el siguiente comando:

    aws codepipeline get-pipeline --name MyFirstPipeline >pipeline.json

    Este comando no devuelve nada, pero el archivo creado debería aparecer en el directorio en el que se ejecutó el comando.

  2. Abra el archivo JSON en cualquier editor de texto sin formato y modifique la estructura del archivo para que refleje los cambios que desea hacer en la canalización. Por ejemplo, puede añadir o eliminar etapas, o añadir otra acción a una etapa existente.

    El siguiente ejemplo muestra cómo añadir otra etapa de implementación en el archivo pipeline.json. Esta etapa se ejecuta después de la primera etapa de implementación denominada Staging (Ensayo).

    nota

    Esto es solo un fragmento del archivo, no toda la estructura. Para obtener más información, consulte Referencia de estructura de canalización de CodePipeline.

    , { "name": "Staging", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "Deploy-CodeDeploy-Application", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineDemoFleet" }, "runOrder": 1 } ] }, { "name": "Production", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "Deploy-Second-Deployment", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineProductionFleet" }, "runOrder": 1 } ] } ] }

    Para obtener información sobre el modo utilizar la CLI para añadir una acción de aprobación a una canalización, consulte Incorporación de una acción de aprobación manual a una canalización de CodePipeline .

    Asegúrese de que el parámetro PollForSourceChanges del archivo JSON se ha establecido de la siguiente manera:

    "PollForSourceChanges": "false",

    CodePipeline utiliza Amazon CloudWatch Events para detectar cambios en el repositorio y la sucursal de CodeCommit origen o en el bucket de origen de Amazon S3. El siguiente paso incluye instrucciones para crear estos recursos manualmente. Al definir la marca como false, se deshabilitan las comprobaciones periódicas, que no son obligatorias cuando utiliza los métodos de detección de cambios recomendados.

  3. Para añadir una acción de prueba, compilación o implementación en una región diferente a la de la canalización, debe añadir lo siguiente a su estructura de la canalización. Para obtener instrucciones detalladas, consulte Agregar una acción entre regiones en CodePipeline.

    • Añada el parámetro Region a la estructura de la canalización de su acción.

    • Utilice el parámetro artifactStores para especificar un bucket de artefactos para cada región en la que tenga una acción.

  4. Si está trabajando con la estructura de la canalización recuperada mediante el comando get-pipeline, debe modificar la estructura del archivo JSON. Debe eliminar las líneas metadata del archivo para que el comando update-pipeline pueda utilizarlo. Quite la sección de la estructura de canalizaciones del archivo JSON (las líneas "metadata": { } y los campos "created", "pipelineARN" y "updated" que contenga).

    Por ejemplo, quite las siguientes líneas de la estructura:

    "metadata": { "pipelineArn": "arn:aws:codepipeline:region:account-ID:pipeline-name", "created": "date", "updated": "date" }

    Guarde el archivo.

  5. Si utiliza la CLI para editar una canalización, debe administrar manualmente los recursos de detección de cambios recomendados para dicha canalización:

  6. Para aplicar los cambios, ejecute el comando update-pipeline especificando el archivo JSON:

    importante

    Asegúrese de incluir file:// antes del nombre de archivo. Es obligatorio en este comando.

    aws codepipeline update-pipeline --cli-input-json file://pipeline.json

    Este comando devuelve la estructura completa de la canalización editada.

    nota

    El comando update-pipeline detiene la canalización. Si se está ejecutando una revisión en la canalización al ejecutar el comando update-pipeline, dicha ejecución se detiene. Debe comenzar la canalización actualizada manualmente para ejecutar dicha revisión en ella.

  7. Abre la CodePipeline consola y elige la canalización que acabas de editar.

    La canalización muestra los cambios. La próxima vez que haga un cambio en la ubicación de origen, la canalización ejecuta dicha revisión a través de la estructura revisada de la canalización.

  8. Para ejecutar manualmente la última revisión a través de la estructura revisada de la canalización, ejecute el comando start-pipeline-execution. Para obtener más información, consulte Iniciar la canalización manualmente.

Para obtener más información sobre la estructura de una canalización y los valores previstos, consulte Referencia de estructura de canalización de CodePipeline y AWS CodePipeline API Reference.