Crea una canalización, etapas y acciones - 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.

Crea una canalización, etapas y acciones

Puede utilizar la AWS CodePipeline consola o la AWS CLI para crear una canalización. Las canalizaciones deben tener dos etapas como mínimo. La primera etapa de una canalización debe ser una etapa de origen. La canalización debe tener al menos otra etapa que sea una etapa de compilación o implementación.

Puedes añadir acciones a tu canalización que estén en una canalización Región de AWS diferente a la tuya. Una acción interregional es aquella en la que un Servicio de AWS es el proveedor de una acción y el tipo de acción o el tipo de proveedor se encuentra en una AWS región diferente a la de tu cartera. Para obtener más información, consulte Añadir una acción interregional en CodePipeline.

También puede crear canalizaciones que creen e implementen aplicaciones basadas en contenedores utilizando Amazon ECS como proveedor de implementación. Antes de crear una canalización que despliegue aplicaciones basadas en contenedores con AmazonECS, debe crear un archivo de definiciones de imágenes tal y como se describe en. Referencia del archivo de definiciones de imágenes

CodePipeline utiliza métodos de detección de cambios para iniciar la 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 y la rama de CodeCommit origen o en el bucket de código fuente de S3.

nota

Si utiliza la consola para crear o editar una canalización, los recursos de detección de cambios se crean automáticamente. Si utilizas el AWS CLI para crear la canalización, debes crear los recursos adicionales tú mismo. Para obtener más información, consulte CodeCommit acciones de origen y EventBridge.

Crear una canalización (consola)

Para crear una canalización en la consola, necesita proporcionar la ubicación del archivo de código fuente e información acerca de los proveedores que utilizará para las acciones.

Cuando se usa la consola para crear una canalización, se debe incluir una etapa de código fuente y una de las siguientes etapas, o ambas:

  • Una etapa de compilación.

  • Una etapa de implementación.

Cuando utiliza el asistente de canalización, CodePipeline crea los nombres de las etapas (fuente, compilación, puesta en escena). Estos nombres no se pueden cambiar. Puede usar nombres más específicos (por ejemplo, BuildToGamma o DeployToProd) para las etapas que añada más adelante.

Paso 1: Crear la canalización y asignarle un nombre
  1. Inicie sesión AWS Management Console y abra la CodePipeline consola en http://console.aws.amazon.com/codesuite/codepipeline/home.

  2. En la página Welcome, elija Create pipeline.

    Si es la primera vez que la usas CodePipeline, selecciona Comenzar.

  3. En la página Step 1: Choose pipeline settings (Paso 1: Elegir configuración de canalización), en Pipeline name (Nombre de canalización), escriba el nombre de la canalización.

    En una sola AWS cuenta, cada canalización que crees en una AWS región debe tener un nombre único. Los nombres se pueden reutilizar para canalizaciones de regiones diferentes.

    nota

    Después de crear una canalización, no podrá cambiar el nombre. Para obtener información acerca de otras limitaciones, consulte Cuotas en AWS CodePipeline.

  4. En Tipo de canalización, elija una de las siguientes opciones: Los tipos de canalización difieren en características y precio. Para obtener más información, consulte Tipos de canalización.

    • Las canalizaciones de tipo V1 tienen una JSON estructura que contiene parámetros estándares de canalización, fase 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 en las etiquetas de Git y las variables a nivel de canalización.

  5. En Service role (Rol de servicio), realice una de las operaciones siguientes:

    • Elija Nuevo rol de servicio para permitir la creación CodePipeline de un nuevo rol de servicio. IAM

    • Elija un rol de servicio existente para usar un rol de servicio ya creado enIAM. En Función ARN, elija su función ARN de servicio de la lista.

    nota

    En función de cuándo se creó tu rol de servicio, es posible que tengas que actualizar sus permisos para admitir otros Servicios de AWS. Para obtener más información, consulte Agregar permisos al rol de servicio de CodePipeline.

    Para obtener más información acerca del rol de servicio y su instrucción de política, consulte Administre la función de servicio CodePipeline .

  6. (Opcional) En Variables, seleccione Añadir variable para añadir variables a nivel de canalización.

    Para obtener más información acerca de las variables a nivel de canalización, consulte Referencia de 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á.

  7. (Opcional) Expanda Advanced settings (Configuración avanzada).

  8. En Artifact store (Almacén de artefactos), ejecute una de estas acciones:

    1. Elige la ubicación predeterminada para usar el almacén de artefactos predeterminado, como el depósito de artefactos de S3 designado como predeterminado, para tu canalización en la Región de AWS que hayas seleccionado para tu canalización.

    2. Elija Custom location (Ubicación personalizada) si ya dispone de un almacén de artefactos (por ejemplo, un bucket de artefactos de S3) en la misma región que la canalización. En Bucket, elija el nombre del bucket.

    nota

    Este no es el bucket de origen para su código fuente. Este es el almacén de artefactos de la canalización. Cada canalización debe tener su propio almacén de artefactos independiente, como un bucket de S3. Al crear o editar una canalización, debes tener una cubeta de artefactos en la región de la canalización y una cubeta de artefactos por cada AWS región en la que vayas a ejecutar una acción.

    Para obtener más información, consulte Artefactos de entrada y salida y CodePipeline referencia de estructura de tubería.

  9. (Opcional) En Encryption key (Clave de cifrado), realice una de las siguientes operaciones:

    1. Para usar el CodePipeline valor predeterminado AWS KMS key para cifrar los datos del almacén de artefactos de la canalización (depósito S3), elige la clave gestionada predeterminada. AWS

    2. Si desea utilizar su clave administrada por el cliente para cifrar los datos del almacén de artefactos de canalización (bucket de S3), elija Clave administrada por el cliente. Elija el ID, la clave o el alias de ARN la clave. ARN

  10. Elija Next (Siguiente).

Paso 2: Crear una etapa de código fuente
  • En la página Step 2: Add source stage (Paso 2: Añadir etapa de código fuente), en Source provider (Proveedor de código fuente), elija el tipo de repositorio en el que se almacena el código fuente, especifique las opciones obligatorias y, a continuación, elija Next step (Paso siguiente).

    • Para Bitbucket Cloud GitHub (versión 2), GitHub Enterprise Server, GitLab .com o GitLab autogestionado:

      1. En Conexión, seleccione una conexión existente o cree una nueva. Para crear o gestionar una conexión para tu acción de GitHub origen, consulta. GitHub conexiones

      2. Elija el repositorio que desea usar como ubicación de origen para la canalización.

        Elige añadir un activador o filtrar los tipos de activadores para iniciar tu canalización. Para obtener más información sobre cómo trabajar con activadores, consulteFiltra los activadores en las solicitudes de inserción o extracción de código. Para obtener más información acerca de filtros con patrones de glob, consulte Trabajar con patrones glob en la sintaxis.

      3. En Formato del artefacto de salida, debe elegir el formato de los artefactos.

        • Para almacenar los artefactos de salida de la GitHub acción mediante el método predeterminado, elija CodePipelinedefault. La acción accede a los archivos del GitHub repositorio y almacena los artefactos en un ZIP archivo en el almacén de artefactos de Pipeline.

        • Para almacenar un JSON archivo que contenga una URL referencia al repositorio para que las acciones posteriores puedan ejecutar comandos de Git directamente, selecciona Clonación completa. Esta opción solo la pueden utilizar las acciones CodeBuild posteriores.

          Si elige esta opción, tendrá que actualizar los permisos de su función de servicio de CodeBuild proyectos, tal y como se muestra en Solución de problemas CodePipeline la siguiente. Para ver un tutorial que muestra cómo utilizar la opción Clonación completa, consulte Tutorial: Utilice un clon completo con una fuente de GitHub canalización.

    • Para Amazon S3:

      1. En Amazon S3 location (Ubicación de Amazon S3), proporcione el nombre del bucket de S3 y la ruta del objeto de un bucket con control de versiones habilitado. El formato del nombre de bucket y la ruta tiene un aspecto similar a este:

        s3://bucketName/folderName/objectName
        nota

        Si Amazon S3 es el proveedor de origen de la canalización, debe comprimir los archivos de origen en un solo archivo.zip y cargarlo en el bucket de origen. También puede cargar un archivo sin comprimir; sin embargo, se producirá un error en las acciones posteriores que esperan un archivo.zip.

      2. Tras elegir el bucket de origen de S3, CodePipeline crea la regla de Amazon CloudWatch Events y la AWS CloudTrail ruta que se va a crear para esta canalización. En Change detection options, deje los valores predeterminados. Esto te CodePipeline permite usar Amazon CloudWatch Events y AWS CloudTrail detectar cambios en tu nueva canalización. Elija Next (Siguiente).

    • En:AWS CodeCommit

      • En Nombre del repositorio, elige el nombre del CodeCommit repositorio que quieres usar como ubicación de origen de tu canalización. En Branch name, en la lista desplegable, elija la ramificación que desee usar.

      • En Formato del artefacto de salida, debe elegir el formato de los artefactos.

        • Para almacenar los artefactos de salida de la CodeCommit acción mediante el método predeterminado, selecciona CodePipelinepredeterminado. La acción accede a los archivos del CodeCommit repositorio y almacena los artefactos en un ZIP archivo en el almacén de artefactos de Pipeline.

        • Para almacenar un JSON archivo que contenga una URL referencia al repositorio para que las acciones posteriores puedan ejecutar comandos de Git directamente, selecciona Clonación completa. Esta opción solo la pueden utilizar las acciones CodeBuild posteriores.

          Si elige esta opción, tendrá que añadir el codecommit:GitPull permiso a su función de CodeBuild servicio, tal y como se muestra en Agregue CodeBuild GitClone permisos para las acciones CodeCommit de origen la siguiente. También tendrá que añadir los codecommit:GetRepository permisos a su función de CodePipeline servicio, como se muestra enAgregar permisos al rol de servicio de CodePipeline. Para ver un tutorial que muestra cómo utilizar la opción Clonación completa, consulte Tutorial: Utilice un clon completo con una fuente de GitHub canalización.

      • Tras elegir el nombre y la sucursal del CodeCommit repositorio, aparece un mensaje en las opciones de detección de cambios que muestra la regla de Amazon CloudWatch Events que se va a crear para esta canalización. En Change detection options, deje los valores predeterminados. Esto te CodePipeline permite usar Amazon CloudWatch Events para detectar cambios en tu nueva canalización.

    • Para Amazon ECR:

      • En Nombre del repositorio, elige el nombre de tu ECR repositorio de Amazon.

      • En Etiqueta de imagen, especifica el nombre y la versión de la imagen, si son distintos deLATEST.

      • En Artefactos de salida, elija el artefacto de salida predeterminado, por ejemplo MyApp, el que contenga el nombre de la imagen y la URI información del repositorio que desee utilizar en la siguiente etapa.

        Para ver un tutorial sobre cómo crear una canalización para Amazon ECS con implementaciones CodeDeploy azul-verde que incluya una etapa de ECR origen de Amazon, consulte. Tutorial: Crear una canalización con una ECR fuente y una ECS implementación de Amazon CodeDeploy

      Cuando incluyes una etapa de ECR origen de Amazon en tu proceso, la acción de origen genera un imageDetail.json archivo como artefacto de salida cuando realizas un cambio. Para obtener más información sobre el archivo imageDetail.json, consulte imageDetailArchivo.json para las acciones de despliegue ECS azul/verde de Amazon.

    nota

    El objeto y el tipo de archivo deben ser compatibles con el sistema de despliegue que vaya a utilizar (por ejemplo, Elastic Beanstalk o). CodeDeploy Algunos tipos de archivos compatibles son .zip, .tar, y .tgz. Para obtener más información acerca de los tipos de contenedores compatibles con Elastic Beanstalk, consulte Personalización y configuración de entornos y Plataformas compatibles. Para obtener más información sobre cómo implementar las revisiones con CodeDeploy, consulte Cargar la revisión de su aplicación y Preparar una revisión.

Paso 3: Crear una etapa de compilación

Este paso es opcional si tiene previsto crear una etapa de implementación.

  • En la página Step 3: Add build stage (Paso 3: Añadir etapa de compilación), realice una de las siguientes acciones y después elija Next (Siguiente):

    • Elija Skip build stage (Omitir etapa de compilación) si tiene previsto crear una etapa de implementación.

    • En Build provider (Proveedor de compilación), elija el proveedor de acciones personalizadas de servicios de compilación y proporcione los detalles de la configuración para ese proveedor. Si desea ver un ejemplo de cómo añadir Jenkins como proveedor de compilación, consulte Tutorial: Crear una canalización de cuatro etapas.

    • En Build provider (Proveedor de compilación), elija AWS CodeBuild.

      En Región, elija la AWS región en la que se encuentra el recurso. El campo Región designa dónde se crean los AWS recursos para este tipo de acción y tipo 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 AWS región que tu canalización.

      En Project name (Nombre del proyecto), elija el proyecto de compilación. Si ya ha creado un proyecto de construcción en CodeBuild, elíjalo. O bien, puede crear un proyecto de construcción CodeBuild y, a continuación, volver a esta tarea. Siga las instrucciones de la Guía del CodeBuild usuario sobre cómo crear una canalización que utilice CodeBuild.

      En Variables de entorno, para añadir variables de CodeBuild entorno a la acción de compilación, selecciona Añadir variable de entorno. Cada variable se compone de tres entradas:

      • En Name (Nombre), escriba el nombre de la clave o de la variable de entorno.

      • En Value (Valor), escriba el valor de la variable de entorno. Si elige Parámetro para el tipo de variable, asegúrese de que este valor sea el nombre de un parámetro que ya haya almacenado en el Almacén de parámetros de AWS Systems Manager.

        nota

        Se desaconseja encarecidamente el uso de variables de entorno para almacenar valores confidenciales, especialmente AWS las credenciales. Al utilizar la CodeBuild consola o AWS CLI, las variables de entorno se muestran en texto plano. Para valores confidenciales, se recomienda utilizar el tipo Parameter (Parámetro) en su lugar.

      • (Opcional) En Type (Tipo), especifique el tipo de variable de entorno. Los valores válidos son Texto sin formato o Parámetro. El valor predeterminado es Texto sin formato.

      (Opcional) En Tipo de compilación, seleccione una de las siguientes opciones:

      • Para ejecutar cada compilación en una sola ejecución de acción de compilación, elija Compilación única.

      • Para ejecutar varias compilaciones en la misma ejecución de acción de compilación, elija Compilación por lote.

      (Opcional) Si opta por ejecutar compilaciones por lotes, puede elegir Combinar todos los artefactos del lote en una sola ubicación para colocar todos los artefactos de compilación en un único artefacto de salida.

Paso 4: Crear una etapa de implementación

Este paso es opcional si ya ha creado una etapa de compilación.

  • En la página Step 4: Add deploy stage (Paso 4: Añadir etapa de implementación), realice una de las siguientes acciones y después elija Next (Siguiente):

    • Elija Skip deploy stage (Omitir etapa de implementación) si ha creado una etapa de compilación en el paso anterior.

      nota

      Esta opción no aparece si ya ha omitido la etapa de compilación.

    • En Deploy provider (Proveedor de implementación), elija una acción personalizada que haya creado para un proveedor de implementación.

      En Región, solo para acciones entre regiones, elija la AWS región en la que se crea 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 AWS región que tu canalización.

    • En Deploy provider (Proveedor de implementación), hay campos disponibles para los proveedores predeterminados, tal como se indica a continuación:

      • CodeDeploy

        En Nombre de la aplicación, ingresa o elige el nombre de una CodeDeploy aplicación existente. En Deployment group (Grupo de implementaciones), escriba el nombre de un grupo de implementaciones para la aplicación. Elija Next (Siguiente). También puede crear una aplicación, un grupo de implementación o ambos en la CodeDeploy consola.

      • AWS Elastic Beanstalk

        En Nombre de aplicación, escriba o seleccione el nombre de una aplicación de Elastic Beanstalk disponible. En Environment name (Nombre de entorno), especifique un entorno para la aplicación. Elija Next (Siguiente). También puede crear una aplicación, un entorno o ambas cosas en la consola de Elastic Beanstalk.

      • AWS OpsWorks Stacks

        En Stack (Pila), escriba o elija el nombre de la pila que desea utilizar. En Layer, elija la capa a la que pertenecen las instancias de destino. En Aplicación, elija la aplicación que desea actualizar e implementar. Si necesita crear una aplicación, elija Crear una nueva en AWS OpsWorks.

        Para obtener información sobre cómo añadir una aplicación a una pila y a una capa AWS OpsWorks, consulte Añadir aplicaciones en la Guía del AWS OpsWorks usuario.

        Para ver un end-to-end ejemplo de cómo utilizar una canalización simple CodePipeline como fuente del código que se ejecuta en AWS OpsWorks capas, consulte Utilización CodePipeline con AWS OpsWorks Stacks.

      • AWS CloudFormation

        Realice una de las siguientes acciones siguientes:

        • En el modo Acción, elija Crear o actualizar una pila, introduzca un nombre de pila y un nombre de archivo de plantilla y, a continuación, elija el nombre del rol que AWS CloudFormation desee asumir. Si lo desea, introduzca el nombre de un archivo de configuración y elija una opción IAM de capacidad.

        • En el modo Acción, elija Crear o reemplazar un conjunto de cambios, introduzca un nombre de pila y un nombre de conjunto de cambios y, a continuación, elija el nombre del rol que AWS CloudFormation desee asumir. Si lo desea, introduzca el nombre de un archivo de configuración y elija una opción IAM de capacidad.

        Para obtener información sobre cómo integrar AWS CloudFormation las capacidades en una canalización CodePipeline, consulte Continuous Delivery with CodePipeline en la Guía del AWS CloudFormation usuario.

      • Amazon ECS

        En Nombre de clúster, introduce o elige el nombre de un ECS clúster de Amazon existente. En Service name (Nombre de servicio), escriba o elija el nombre del servicio que se ejecuta en el clúster. También puede crear un clúster y un servicio. En Image filename (Nombre de archivo de imagen), escriba el nombre del archivo de definiciones de imágenes que describe el contenedor y la imagen de su servicio.

        nota

        La acción de ECS despliegue de Amazon requiere un imagedefinitions.json archivo como entrada para la acción de despliegue. El nombre predeterminado del archivo es imagedefinitions.json. Si decide utilizar otro nombre de archivo, debe especificarlo al crear la canalización etapa de implementación. Para obtener más información, consulte Archivo imagedefinitions.json para las acciones de despliegue estándar de Amazon ECS.

        Elija Next (Siguiente).

        nota

        Asegúrese de que su ECS clúster de Amazon esté configurado con dos o más instancias. ECSLos clústeres de Amazon deben contener al menos dos instancias para que una se mantenga como instancia principal y la otra se utilice para alojar nuevas implementaciones.

        Para ver un tutorial sobre cómo implementar aplicaciones basadas en contenedores con tu canalización, consulta el Tutorial: Implementación continua con. CodePipeline

      • Amazon ECS (azul/verde)

        Introduzca el grupo de CodeDeploy aplicaciones y despliegues, la definición de la ECS tarea de Amazon y la información AppSpec del archivo y, a continuación, seleccione Siguiente.

        nota

        La acción Amazon ECS (azul/verde) requiere un imageDetail archivo.json como artefacto de entrada para la acción de despliegue. Como la acción ECR fuente de Amazon crea este archivo, las canalizaciones con una acción ECR fuente de Amazon no necesitan proporcionar un imageDetail.json archivo. Para obtener más información, consulte imageDetailArchivo.json para las acciones de despliegue ECS azul/verde de Amazon.

        Para ver un tutorial sobre cómo crear una canalización para las implementaciones azul-verde en un ECS clúster de Amazon con CodeDeploy, consulte. Tutorial: Crear una canalización con una ECR fuente y una ECS implementación de Amazon CodeDeploy

      • AWS Service Catalog

        Elija Enter deployment configuration (Especificar configuración de implementación) si desea utilizar campos de la consola para especificar la configuración, o elija Configuration file (Archivo de configuración) si tiene un archivo de configuración. Especifique la información de configuración y del producto y, a continuación, elija Next (Siguiente).

        Si desea ver un tutorial sobre la implementación de cambios de producto en con la canalización, consulte Tutorial: Crear una canalización que se implemente en Service Catalog.

      • Alexa Skills Kit

        En Alexa Skill ID (ID de habilidad de Alexa), escriba el ID de habilidad para la habilidad de Alexa. En Client ID y Client secret, introduce las credenciales generadas mediante el perfil de seguridad Login with Amazon (LWA). En el token de actualización, introduce el token de actualización que generaste con el ASK CLI comando para recuperar un token de actualización. Elija Next (Siguiente).

        Para ver un tutorial sobre cómo implementar las habilidades de Alexa en tu canalización y generar las LWA credenciales, consultaTutorial: Crear una canalización que implemente una habilidad de Amazon Alexa.

      • Amazon S3

        En Bucket, escriba el nombre del bucket de S3 que desea utilizar. Elija Extraer el archivo antes de la implementación si el artefacto de entrada a la etapa de implementación es un ZIP archivo. Si selecciona Extraer el archivo antes del despliegue, también puede introducir un valor para la ruta de despliegue en la que se ZIP descomprimirá el archivo. Si no selecciona dicha opción, deberá introducir un valor en S3 object key (Clave de objeto de S3).

        nota

        La mayoría de los artefactos de salida de las etapas de código fuente y compilación están comprimidos. Todos los proveedores de origen de la canalización excepto Amazon S3 comprimirán los archivos de origen antes de suministrárselos al artefacto de entrada de la siguiente acción.

        (Opcional) En Canned ACL, introduzca el valor ACL predeterminado para aplicarlo al objeto desplegado en Amazon S3.

        nota

        Al aplicar una configuración predefinida, se ACL sobrescriben todas las existentes que ACL se hayan aplicado al objeto.

        (Opcional) En Cache control (Control de caché), especifique los parámetros de control de caché de las solicitudes para descargar objetos del bucket. Para obtener una lista de valores válidos, consulte el campo de Cache-Controlencabezado para ver HTTP las operaciones. Para introducir varios valores en CacheControl, utilice una coma entre cada valor. Puede añadir un espacio después de cada coma (opcional), tal y como se muestra en este ejemplo.

        Imagen que muestra el campo de control de caché de la consola con la siguiente entrada: public, max-age=0, no-transform

        La entrada de ejemplo anterior se muestra de la siguiente manera: CLI

        "CacheControl": "public, max-age=0, no-transform"

        Elija Next (Siguiente).

        Para obtener un tutorial que explica cómo crear una canalización con un proveedor de acción de implementación de Amazon S3, consulte Tutorial: Crear una canalización que utilice Amazon S3 como proveedor de implementación.

Paso 5: Revisar la canalización
  • En la página Paso 5: Revisar, revise la configuración de su canalización y elija Crear canalización para crear la canalización o Anterior para retroceder y modificar las opciones que ha elegido. Para salir del asistente sin crear una canalización, elija Cancel.

Ahora que ha creado su canalización, puede verla en la consola. La canalización comienza a ejecutarse una vez creada. Para obtener más información, consulte Vea las canalizaciones y los detalles en CodePipeline. Para obtener más información acerca de cómo realizar cambios en la canalización, consulte Editar una canalización en CodePipeline.

Crear una canalización (CLI)

Para usar el AWS CLI para crear una canalización, debe crear un JSON archivo para definir la estructura de la canalización y, a continuación, ejecutar el create-pipeline comando con el --cli-input-json parámetro.

importante

No se puede utilizar AWS CLI para crear una canalización que incluya las acciones de los socios. En su lugar, debes usar la CodePipeline consola.

Para obtener más información sobre la estructura de la canalización, consulte CodePipeline referencia de estructura de tubería y create-pipeline en la CodePipeline API Referencia.

Para crear un JSON archivo, utilice el JSON archivo de canalización de ejemplo, edítelo y, a continuación, llame a ese archivo cuando ejecute el create-pipeline comando.

Requisitos previos:

Necesita el rol ARN de servicio para CodePipeline el que creóEmpezar con CodePipeline. Al ejecutar el create-pipeline comando, se utiliza ARN el rol de CodePipeline servicio del JSON archivo de canalización. Para obtener más información sobre cómo crear un rol de servicio, consulte Crear el rol CodePipeline de servicio. A diferencia de la consola, al ejecutar el create-pipeline comando en la AWS CLI no se tiene la opción de crear el rol de CodePipeline servicio automáticamente. El rol de servicio debe existir previamente.

Necesita el nombre de un bucket de S3 donde se almacenarán los artefactos de la canalización. Este bucket debe estar en la misma región que la canalización. Al ejecutar el create-pipeline comando, se utiliza el nombre del bucket en el JSON archivo de canalización. A diferencia de la consola, al ejecutar el create-pipeline comando en la AWS CLI no se crea un depósito de S3 para almacenar artefactos. El bucket debe existir previamente.

nota

También puedes usar el get-pipeline comando para obtener una copia de la JSON estructura de esa canalización y, después, modificarla en un editor de texto sin formato.

Temas
    Para crear el archivo JSON
    1. En un terminal (Linux, macOS o Unix) o en el símbolo del sistema (Windows), cree un nuevo archivo de texto en un directorio local.

    2. (Opcional) Puede agregar una o varias variables a nivel de canalización. Puede hacer referencia a este valor en la configuración de las CodePipeline acciones. Puede añadir los nombres y valores de las variables al crear la canalización, y también puede optar por asignar valores al iniciar la canalización en la consola.

      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á.

      Una variable a nivel de canalización se resuelve en el tiempo de ejecución de la canalización. Todas las variables son inmutables, lo que significa que no se pueden actualizar después de asignar un valor. Las variables a nivel de canalización con valores resueltos se mostrarán en el historial de cada ejecución.

      Las variables se proporcionan a nivel de canalización mediante el atributo de variables de la estructura de canalización. En el siguiente ejemplo, la variable Variable1 tiene un valor de Value1.

      "variables": [ { "name": "Timeout", "defaultValue": "1000", "description": "description" } ]

      Agrega esta estructura a tu canalización JSON o al ejemplo JSON del siguiente paso. Para obtener más información acerca de las variables, incluida la información de los espacios de nombres, consulte Referencia de variables.

    3. Abra el archivo en un editor de texto sin formato y edite los valores para que reflejen la estructura que desea crear. Como mínimo, deberá cambiar el nombre de la canalización. Considere también la posibilidad de cambiar:

      • El bucket de S3 en el que se almacenan los artefactos de esta canalización.

      • La ubicación de código fuente del código.

      • El proveedor de implementación.

      • Cómo desea implementar el código.

      • Las etiquetas de la canalización.

      La siguiente estructura de canalización de dos etapas refleja los valores que debería plantearse modificar en la canalización. Probablemente, su canalización tenga más de dos etapas:

      { "pipeline": { "roleArn": "arn:aws:iam::80398EXAMPLE::role/AWS-CodePipeline-Service", "stages": [ { "name": "Source", "actions": [ { "inputArtifacts": [], "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "S3" }, "outputArtifacts": [ { "name": "MyApp" } ], "configuration": { "S3Bucket": "amzn-s3-demo-source-bucket", "S3ObjectKey": "ExampleCodePipelineSampleBundle.zip", "PollForSourceChanges": "false" }, "runOrder": 1 } ] }, { "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 } ] } ], "artifactStore": { "type": "S3", "location": "codepipeline-us-east-2-250656481468" }, "name": "MyFirstPipeline", "version": 1, "variables": [ { "name": "Timeout", "defaultValue": "1000", "description": "description" } ] }, "triggers": [ { "providerType": "CodeStarSourceConnection", "gitConfiguration": { "sourceActionName": "Source", "push": [ { "tags": { "includes": [ "v1" ], "excludes": [ "v2" ] } } ] } } ] "metadata": { "pipelineArn": "arn:aws:codepipeline:us-east-2:80398EXAMPLE:MyFirstPipeline", "updated": 1501626591.112, "created": 1501626591.112 }, "tags": [{ "key": "Project", "value": "ProjectA" }] }

      Este ejemplo etiqueta la canalización incluyendo la clave de etiqueta Project y el valor ProjectA en la canalización. Para obtener más información sobre cómo etiquetar recursos CodePipeline, consulteEtiquetado de recursos.

      Asegúrese de que el PollForSourceChanges parámetro del JSON archivo esté configurado de la siguiente manera:

      "PollForSourceChanges": "false",

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

    4. Para crear una acción de compilación, prueba o implementación en una región diferente a la de la canalización, debe añadir lo siguiente a la estructura de canalización. Para obtener instrucciones, consulte Añadir una acción interregional en CodePipeline.

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

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

    5. Cuando esté satisfecho con la estructura, guarde el archivo con un nombre como pipeline.json.

    Para crear una canalización
    1. Ejecute el create-pipeline comando y utilice el --cli-input-json parámetro para especificar el JSON archivo que creó anteriormente.

      Para crear una canalización llamada MySecondPipeline con un JSON archivo llamado pipeline.json que incluye el nombre»MySecondPipeline«como valor name en elJSON, tu comando tendría el siguiente aspecto:

      aws codepipeline create-pipeline --cli-input-json file://pipeline.json
      importante

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

      Este comando devuelve la estructura de toda la canalización que ha creado.

    2. Para ver la canalización, abra la CodePipeline consola y selecciónela de la lista de canalizaciones, o utilice el get-pipeline-state comando. Para obtener más información, consulte Vea las canalizaciones y los detalles en CodePipeline.

    3. Si utilizas el CLI para crear una canalización, debes crear manualmente los recursos de detección de cambios recomendados para la canalización: