Preguntas frecuentes sobre AWS CodePipeline

Aspectos generales

AWS CodePipeline es un servicio de entrega continua que le permite modelar, visualizar y automatizar los pasos necesarios para lanzar el software. Con AWS CodePipeline, puede modelar el proceso de lanzamiento completo para compilar el código, realizar implementaciones en entornos de preproducción, probar la aplicación y lanzarla en producción. A continuación, AWS CodePipeline compila, prueba e implementa la aplicación según el flujo de trabajo definido cada vez que se produce una modificación en el código. Puede integrar herramientas de socios y herramientas personalizadas propias en cualquier fase del proceso de lanzamiento para crear una solución integral de entrega continua.

Mediante la automatización de los procesos de compilación, prueba y lanzamiento, AWS CodePipeline le permite aumentar la velocidad y calidad de las actualizaciones de software mediante la ejecución de todos los cambios nuevos a través de un conjunto coherente de comprobaciones de calidad.

La entrega continua es una práctica de desarrollo de software mediante la cual se compilan, prueban y preparan automáticamente los cambios en el código y se entregan a la fase de producción. AWS CodePipeline es un servicio que lo ayuda a implementar la entrega continua. Obtenga más información sobre la entrega continua aquí.

Conceptos

Una canalización es un constructo de flujo de trabajo que describe cómo se transmiten las modificaciones de software a través de un proceso de lanzamiento. El flujo de trabajo se define con una secuencia de fases y acciones.

Una revisión es un cambio realizado en la ubicación de origen definida para la canalización. Puede incluir código fuente, resultados de compilación, configuración o datos. Una canalización puede tener varias revisiones transmitiéndose al mismo tiempo.

Un fase es un grupo de una o más acciones. Una canalización puede tener dos o más fases.

Una acción es una tarea realizada en una revisión. Las acciones de canalización se producen en un orden especificado, en serie o en paralelo, según se determine en la configuración de la fase. Para obtener más información, consulte Editar una canalización y Requisitos de la estructura de las acciones en AWS CodePipeline.

Cuando se ejecuta una acción, esta actúa sobre un archivo o conjunto de archivos. Estos archivos se denominan artefactos. Se puede trabajar en estos artefactos mediante acciones posteriores en la canalización. Por ejemplo, una acción de origen entregará la versión más reciente del código como un artefacto de origen, que la acción de compilación se encargará de leer. Después de la compilación, la acción de compilación cargará la salida de compilación como otro artefacto, que se leerá durante las acciones de implementación posteriores.

Las fases de una canalización se conectan mediante transiciones y se representan mediante flechas en la consola de AWS CodePipeline. Las revisiones que completan correctamente las acciones en una fase se enviarán automáticamente a la siguiente fase según lo indicado por la flecha de transición. Las transiciones se pueden desactivar o activar entre fases.

Uso de AWS CodePipeline

Puede iniciar sesión en la consola de administración de AWS, crear una canalización y comenzar a utilizar el servicio. Si desea ver una introducción de AWS CodePipeline, consulte Introducción, que incluye tutoriales paso a paso. 

Después de crear una canalización, esta activará automáticamente una ejecución para lanzar la revisión más reciente del código fuente. A partir de entonces, cada vez que realice un cambio en la ubicación de origen, se activará una nueva ejecución. Además, puede volver a ejecutar la última revisión a través de una canalización con el botón Release Change en la consola de canalización.

Para detener una canalización, puede desactivar una transición entre dos fases. Una vez desactivada, la canalización continuará ejecutando revisiones a través de las acciones, pero no promoverá revisiones a través de la transición desactivada en fases posteriores. Para obtener más detalles, consulte Disable or Enable Transitions in AWS CodePipeline.

Sí. Puede utilizar la consola de AWS CodePipeline o la interfaz de línea de comandos (CLI) de AWS para añadir o eliminar fases en una canalización así como para añadir, editar o eliminar acciones en una fase.

Sí. Puede utilizar el comando de la interfaz de línea de comandos (CLI) de AWS get-pipeline para obtener la estructura de JSON de su canalización existente. A continuación, puede utilizar esa JSON y el comando de la interfaz de línea de comandos (CLI) de AWS create-pipeline para crear una nueva canalización con la misma estructura que la existente.

Sí. Puede configurar una o más acciones para que se ejecuten en paralelo en una fase concreta.

Puede lanzar actualizaciones de su aplicación sin servidor mediante la inclusión de la plantilla del modelo de aplicaciones sin servidor de AWS y sus correspondientes archivos en su repositorio de código fuente. Puede usar AWS CodeBuild en su canalización para empaquetar el código para su implementación. A continuación, puede utilizar acciones de AWS CloudFormation para crear un conjunto de cambios e implementar su aplicación sin servidor. Dispone de la opción de ampliar su flujo de trabajo con pasos adicionales como las aprobaciones manuales o las pruebas automatizadas. Obtenga más información aquí.

Con AWS CodePipeline y AWS CloudFormation, puede utilizar la entrega continua para crear y probar automáticamente los cambios en sus pilas de AWS CloudFormation antes de transferirlos a pilas de producción. Este proceso de lanzamiento le permite realizar cambios en su infraestructura de AWS con rapidez y fiabilidad. Puede ampliar su flujo de trabajo con acciones adicionales, como aprobaciones manuales, acciones de pruebas o invocar acciones de AWS Lambda. Para obtener más información, consulte la página de Entrega continua con AWS CloudFormation.

AWS CodePipeline se integra con servicios de AWS como AWS CodeCommit, Amazon S3, AWS CodeBuild, AWS CodeDeploy, AWS Elastic Beanstalk, AWS CloudFormation, AWS OpsWorks, Amazon ECS y AWS Lambda. Además, AWS CodePipeline se integra con una serie de herramientas de socios. Consulte la página de integraciones de productos para obtener más detalles. Por último, puede escribir acciones personalizadas propias e integrar cualquier herramienta existente con CodePipeline. Para obtener más detalles sobre acciones personalizadas, consulte la página Crear y añadir una acción personalizada en AWS CodePipeline.

Sí. Para recibir un historial de las llamadas a la API de AWS CodePipeline realizadas en su cuenta con fines de análisis de seguridad y solución de problemas operativos, solo tiene que activar AWS CloudTrail en la consola de administración de AWS. Para obtener más información, consulte Registrar llamadas a la API de AWS CodePipeline con AWS CloudTrail.

Para obtener información sobre los límites del servicio, consulte la sección sobre los límites.

Puede crear notificaciones para los eventos que afectan en sus canalizaciones. Las notificaciones aparecerán como notificaciones de Amazon SNS. Cada notificación incluirá un mensaje de estado, así como un enlace a los recursos cuyo evento generó esa notificación. Las notificaciones no tienen un costo adicional, pero puede que se le cobre por otros servicios de AWS que usen las notificaciones, como Amazon SNS. Para saber cómo puede empezar a usar las notificaciones, consulte la guía del usuario de notificaciones. Además, los clientes que usan AWS Chatbot pueden configurar las notificaciones para enviarlas a sus canales de Slack o las salas de chat de Amazon Chime. Para obtener más información, haga clic aquí.

Socios

Si está interesado en convertirse en un socio de AWS que realiza la integración del servicio de desarrollador con AWS CodePipeline, contáctese a través de [email protected].

Seguridad

Sí. AWS CodePipeline admite permisos a nivel de recursos. Puede especificar qué usuario puede realizar cada acción en una canalización. Por ejemplo, puede proporcionar a un usuario acceso de solo lectura a una canalización, si desea que vea el estado de la canalización pero no pueda modificarla. También puede configurar permisos para cualquier fase o acción de una canalización. Para obtener más información sobre el uso de IAM con AWS CodePipeline, consulte la referencia a los permisos de acceso.

Sí. Puede crear un rol de IAM en la cuenta de AWS propietaria de la canalización para delegar el acceso a la canalización y a los recursos relacionados a un usuario de IAM de otra cuenta. Para obtener instrucciones paso a paso sobre cómo activar un acceso entre cuentas de este tipo, consulte Tutorial: Delegación del acceso entre cuentas de AWS para cuentas propias mediante roles de IAM y Configuración del acceso entre cuentas a una canalización.

Regiones

Consulte Productos y servicios por región para obtener más información sobre la disponibilidad de CodePipeline por región.

Facturación

Para obtener más información sobre el costo de AWS CodePipeline, consulte la página de precios.