Como desarrollador, necesita una canalización que recupere una plantilla de nube de automatización desde una instancia de GitHub local cada vez que confirme un cambio. La canalización es necesaria para implementar una aplicación de WordPress para Amazon Web Services (AWS) EC2 o un centro de datos. Code Stream llama a la plantilla de nube desde la canalización y automatiza la integración continua y distribución continua (Continuous Integration and Continuous Delivery, CICD) de esa plantilla de nube para implementar la aplicación.
Si desea crear y activar la canalización, necesitará una plantilla de nube de VMware.
Para la opción Origen de plantilla de nube en la tarea de la plantilla de nube de Code Stream, puede seleccionar cualquiera de las siguientes opciones:
- Plantilla de Cloud Assembly como el control de origen. En este caso, no necesita un repositorio de GitLab o GitHub.
- Control de origen si utiliza GitLab o GitHub para el control de origen. En este caso, debe tener un webhook de Git y activar la canalización a través del webhook.
Si tiene una plantilla de nube de YAML en su repositorio de GitHub y desea utilizar esa plantilla en la canalización, debe hacer lo siguiente:
- En Cloud Assembly, inserte la plantilla de nube en el repositorio de GitHub.
- En Code Stream, cree un endpoint de Git. A continuación, cree un webhook de Git que use el endpoint de Git y la canalización.
- Para activar la canalización, actualice cualquier archivo del repositorio de GitHub y confirme el cambio.
Si no tiene una plantilla de nube de YAML en el repositorio de GitHub y desea utilizar una plantilla de nube del control de origen, utilice este procedimiento para obtener información sobre cómo hacerlo. Aprenderá a crear una plantilla de nube para una aplicación de WordPress y a activarla desde un repositorio de GitHub local. Siempre que se realiza un cambio en la plantilla de nube de YAML, la canalización se activa y automatiza la versión de la aplicación.
- En Cloud Assembly, debe agregar una cuenta de nube, una zona de nube y crear la plantilla de nube.
- En Code Stream, debe agregar un endpoint para el repositorio de GitHub local que aloja la plantilla de nube. A continuación, debe agregar la plantilla de nube a la canalización.
Este ejemplo de caso práctico muestra cómo utilizar una plantilla de nube desde un repositorio de GitHub local.
Requisitos previos
- Agregue una cuenta de nube y una zona de nube en la infraestructura de vRealize Automation Cloud Assembly. Consulte la documentación de vRealize Automation Cloud Assembly.
- Para crear la plantilla de nube con el procedimiento que se explica a continuación, copie el código YAML de WordPress en el portapapeles. En la documentación de vRealize Automation Cloud Assembly, consulte el código YAML de la plantilla de nube en el caso práctico de WordPress.
- Agregue el código de YAML de la aplicación de WordPress a su instancia de GitHub.
- Agregue un webhook para el activador de Git de manera que la canalización pueda extraer el código de YAML cada vez que confirme cambios en él. En Code Stream, haga clic en .
- Para trabajar con una tarea de plantilla de nube, debe tener cualquiera de las funciones de Cloud Assembly.
Procedimiento
- En Cloud Assembly, siga los siguientes pasos.
- Haga clic en VMware Cloud Templates y, a continuación, cree una plantilla de nube y una implementación para la aplicación de WordPress.
- Pegue en la plantilla de nube el código YAML de WordPress que copió en el portapapeles e impleméntelo.
- En Code Stream, cree endpoints.
- Cree un endpoint de Git para el repositorio de GitHub local en el que resida el archivo de YAML.
- Agregue un endpoint de correo electrónico para poder notificar a los usuarios sobre el estado de la canalización cuando se ejecuta.
- Cree una canalización y agregue notificaciones para informar de si la canalización se ejecutó correctamente o con errores.
- Agregue una etapa para el desarrollo y una tarea de plantilla de nube.
- Agregue una tarea de plantilla de nube que implemente la máquina y configúrela para que use el YAML de la plantilla de nube para la aplicación de WordPress.
resources:
DBTier:
type: Cloud.Machine
properties:
name: mysql
image: 'ubuntu-16'
flavor: 'small'
constraints:
- tag: zone:dev
WebTier:
type: Cloud.Machine
properties:
name: wordpress
image: 'ubuntu-16'
flavor: 'small'
constraints:
- tag: zone:dev
WP-Network-Private:
type: Cloud.Network
properties:
name: WP-Network-Private
networkType: existing
constraints:
- tag: 'type:isolated-net'
- tag: 'zone:dev'
- Agregue una tarea de plantilla de nube que destruya la máquina para liberar recursos.
- Agregue una etapa para la producción e incluya tareas de autorización e implementación.
- Agregue una tarea de operación de usuario para solicitar autorización para transferir la aplicación de WordPress a producción.
- Agregue una tarea de plantilla de nube para implementar la máquina y configúrela con el YAML de la plantilla de nube para la aplicación de WordPress.
Al seleccionar
Crear, el nombre de la implementación debe ser único. Si deja el nombre en blanco,
Code Stream le asigna un nombre aleatorio único.
Esto es lo que debe saber si selecciona
Reversión en su propio caso práctico: si escoge la acción
Reversión e introduce un valor para
Versión de reversión, la versión debe tener el formato
n-X. Por ejemplo,
n-1,
n-2,
n-3, etc. Si crea y actualiza la implementación en cualquier ubicación que no sea
Code Stream, se permitirá la reversión.
Al iniciar sesión en
Code Stream, obtiene un token de usuario, que es válido durante 30 minutos. En canalizaciones de larga ejecución, cuando la tarea anterior a la de la plantilla de nube tarda 30 minutos o más en ejecutarse, el token de usuario caduca. Como resultado, se produce un error en la tarea de plantilla de nube.
Para asegurarse de que la canalización se pueda ejecutar durante más de 30 minutos, puede introducir un token de API opcional. Cuando
Code Stream invoca a la plantilla de nube, el token de API persiste y la tarea de plantilla de nube sigue usando el token de API.
Cuando se utiliza el token de API como una variable, está cifrado. De lo contrario, se utilizará como texto sin formato.
- Ejecute la canalización.
Para comprobar que cada tarea se haya completado correctamente, haga clic en la tarea en la ejecución y examine el estado en los detalles de la implementación para ver información detallada sobre los recursos.
- En GitHub, modifique el tipo de la instancia del servidor de WordPress de
small
a medium
.
Cuando se confirman cambios, la canalización se activa. Extrae el código actualizado del repositorio de GitHub y compila la aplicación.
WebTier:
type: Cloud.Machine
properties:
name: wordpress
image: 'ubuntu-16'
flavor: 'medium'
constraints:
- tag: zone:dev
- Vuelva a ejecutar la canalización y compruebe que finalizó correctamente y que cambió el tipo de la instancia de WordPress de pequeña a mediana.
Resultados
Enhorabuena. Se automatizó la publicación de la aplicación implementada a partir de una plantilla de nube de YAML.
Qué hacer a continuación
Para obtener más información sobre cómo puede usar Code Stream, consulte Tutoriales para usar Code Stream.
Para obtener más referencias, consulte Más recursos para desarrolladores y administradores de Code Stream.