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

Cree una canalización en CodePipeline

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 AWS región distinta de 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 implemente aplicaciones basadas en contenedores con Amazon ECS, 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 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 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 usa la AWS CLI para crear la canalización, debe crear los recursos adicionales usted 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 en la CodePipeline consola AWS Management Console y ábrala 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 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 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 Nueva función de servicio para CodePipeline poder crear una nueva función de servicio en IAM.

    • Elija Existing service role (Rol de servicio existente) para utilizar un rol de servicio que ya se ha creado en IAM. En Role ARN (ARN del rol), elija en la lista el ARN del rol de servicio.

    nota

    En función de cuándo se creó el rol de servicio, es posible que tenga 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 CodePipeline de servicio.

  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 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 de clave, el ARN de clave o el ARN de alias.

  10. Elija 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 autogestionado: GitLab

      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 archivo ZIP en el almacén de artefactos de Pipeline.

        • Para almacenar un archivo JSON que contiene una referencia URL al repositorio de manera que las acciones posteriores puedan ejecutar comandos Git directamente, elija 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 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 archivo ZIP en el almacén de artefactos de Pipeline.

        • Para almacenar un archivo JSON que contiene una referencia URL al repositorio de manera que las acciones posteriores puedan ejecutar comandos Git directamente, elija 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 Añade 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 de repositorio, elija el nombre de su repositorio de Amazon ECR.

      • En Image tag (Etiqueta de imagen), especifique el nombre de la imagen y la versión, si es diferente de LATEST.

      • En Output Artifacts, elija el artefacto de salida predeterminado, por ejemplo MyApp, el que contenga el nombre de la imagen y la información del URI 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 origen de Amazon ECR, consulte. Tutorial: Creación de una canalización con una fuente de Amazon ECR y de ECS a su implementación CodeDeploy

      Cuando se incluye una etapa de origen de Amazon ECR en la canalización, la acción de origen genera un archivo imageDetail.json como artefacto de salida al confirmar un cambio. Para obtener más información sobre el archivo imageDetail.json, consulte Archivo imageDetail.json para las acciones de implementación blue/green de .

    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. Cuando utiliza la CodeBuild consola o la 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 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 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 prefiere, escriba el nombre de un archivo de configuración y elija una opción de capacidad de IAM.

        • 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 prefiere, escriba el nombre de un archivo de configuración y elija una opción de capacidad de IAM.

        Para obtener información sobre la integración de AWS CloudFormation funciones 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, escriba o seleccione el nombre de un clúster de Amazon ECS disponible. 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 implementación de Amazon ECS requiere un archivo imagedefinitions.json como entrada. 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 implementación estándar de .

        Seleccione Siguiente.

        nota

        Asegúrese de que su clúster de Amazon ECS se ha configurado con dos o más instancias. Los clústeres de Amazon ECS deben incluir al menos dos instancias para poder mantener una como la instancia principal y usar la otra para alojar las nuevas implementaciones.

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

      • Amazon ECS (Blue/Green) (Amazon ECS (azul/verde))

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

        nota

        La acción Amazon ECS (Blue/Green) (Amazon ECS (azul/verde)) requiere un archivo imageDetail.json como artefacto de entrada de la acción de implementación. Dado que la acción de origen de Amazon ECR crea este archivo, no es necesario que las canalizaciones con una acción de origen de Amazon ECR proporcionen un archivo imageDetail.json. Para obtener más información, consulte Archivo imageDetail.json para las acciones de implementación blue/green de .

        Para ver un tutorial sobre cómo crear una canalización para las implementaciones azul-verde en un clúster de Amazon ECS con CodeDeploy, consulte. Tutorial: Creación de una canalización con una fuente de Amazon ECR y de ECS a su implementación 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 (ID de cliente) y en Client secret (Secreto de cliente), escriba las credenciales generadas con un perfil de seguridad de Login with Amazon (LWA). En Refresh token (Token de actualización), especifique el token de actualización que ha generado mediante el comando de la CLI de ASK para recuperar un token de actualización. Elija Siguiente.

        Si desea ver un tutorial sobre la implementación de habilidades de Alexa con una canalización y sobre cómo generar las credenciales de LWA, consulte Tutorial: 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 Extract file before deploy (Extraer el archivo antes de la implementación) si el artefacto de entrada a la etapa de implementación es un archivo ZIP. Si selecciona Extract file before deploy (Extraer el archivo antes de la implementación), es posible que también pueda introducir un valor para la Deployment path (Ruta de la implementación) en la que se descomprimirá el archivo ZIP. 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 ACL predefinida, introduzca la ACL predefinida para aplicarla al objeto que se implementa en Amazon S3.

        nota

        La aplicación de una ACL predefinida sobrescribe cualquier ACL existente aplicada 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 una lista de valores válidos, consulte el Cache-Controlcampo del encabezado para las operaciones HTTP 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.

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

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

        Elija 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 utilizarla AWS CLI para crear una canalización, debe crear un archivo JSON 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 puedes usar el 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, consulta CodePipeline referencia de estructura de tubería y create-pipeline en la referencia de la CodePipeline API.

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

Requisitos previos:

Necesita el ARN del rol de servicio para CodePipeline el que creó. Empezar con CodePipeline Al ejecutar el comando, se utiliza el ARN del rol de CodePipeline servicio en el archivo JSON de canalización. create-pipeline 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 el AWS CLI no existe 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. El nombre del bucket se utiliza en el archivo JSON de la canalización al ejecutar el comando create-pipeline. 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 puede usar el comando get-pipeline para obtener una copia de la estructura JSON de esa canalización y, después, modificar esa estructura 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 CodePipeline las 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 al JSON de su canalización o al JSON de ejemplo en el siguiente paso. Para obtener más información acerca de las variables, incluida la información de los espacios de nombres, consulte 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": "awscodepipeline-demobucket-example-date", "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 parámetro PollForSourceChanges del archivo JSON se ha establecido 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 ver 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 comando create-pipeline y use el parámetro --cli-input-json para especificar el archivo JSON creado anteriormente.

      Para crear una canalización MySecondPipelinecon el nombre de un archivo JSON denominado pipeline.json que incluya el nombre «MySecondPipeline» como valor name en el JSON, el 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, abre la CodePipeline consola y selecciónela de la lista de canalizaciones, o usa el comando. get-pipeline-state Para obtener más información, consulte Vea las canalizaciones y los detalles en CodePipeline.

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