Integración de cargas de trabajo de Code Engine con Continuous Delivery
Puede automatizar la compilación y el despliegue de las cargas de trabajo de IBM Cloud® Code Engine creando una cadena de herramientas con Continuous Delivery. Puede crear una cadena de herramientas que extraiga el código fuente de un repositorio y, a continuación, compile y despliegue la app o el trabajo. Siempre que actualice el código fuente en el repositorio, la cadena de herramientas extrae automáticamente el código actualizado y, a continuación, compila y vuelve a desplegar la app o el trabajo.
Antes de empezar
Antes de empezar con las cadenas de herramientas,
-
Cree o identifique un proyectoCode Engine. Puede crear estos recursos utilizando la consola o la CLI. Para obtener más información, consulte Proyectos deCode Engine.
-
Cree o identifique una instancia del servicio Continuous Delivery.
-
Cree o identifique un espacio de nombres IBM Cloud Container Registry. Para obtener más información sobre la creación de un espacio de nombres, consulte el servicio IBM Cloud Container Registry.
Configuración del acceso para la cadena de herramientas
Si desea crear y desplegar una app o un trabajo con una cadena de herramientas, establezca los permisos siguientes en IAM.
IBM Cloud Container Registry
- Lector: Para extraer la imagen del registro de contenedor.
- Escritor: Para enviar la imagen creada al espacio de nombres de destino.
- Gestor: Para crear el espacio de nombres especificado si no existe.
- Administrador: Para crear un ID de servicio, políticas y una clave de API necesaria para configurar un secreto de registro de Code Engine para utilizar para la app o el trabajo.
Code Engine
- Editor: Para acceder a un proyecto Code Engine o para crear uno, si no existe.
- Escritor: Para gestionar apps, trabajos y secretos dentro del proyecto Code Engine.
Grupo de recursos:
- Visor: Para ver el grupo de recursos en el que se encuentra el proyecto Code Engine.
Si desea que la app enlace otro servicio IBM Cloud, debe establecer los permisos adicionales siguientes.
Todos los servicios habilitados para identidad y acceso
- Administrador: Para crear un ID de servicio, políticas y clave de API para configurar un secreto de acceso al servicio Code Engine, que se utiliza para mantener las credenciales de servicio para conectar servicios individuales a una app o trabajo de Code Engine.
Creación de una cadena de herramientas
Puede crear una cadena de herramientas desde la página Cadena de herramientas seleccionando Crear cadena de herramientas y, a continuación, eligiendo la plantilla Code Engine. ¿Desea probar una guía de aprendizaje? Consulte Desarrollar y desplegar una app utilizando Code Engine.
Opciones de Code Engine en la cadena de herramientas
Puede establecer las opciones siguientes para la cadena de herramientas de Code Engine editando ci-pipeline Configuration y seleccionando Propiedades de entorno.
| Opción | Descripción |
|---|---|
apikey |
La clave de API de IBM Cloud que se utiliza para esta cadena de herramientas. |
app-concurrency |
El número máximo de solicitudes que se pueden procesar simultáneamente por instancia. El valor predeterminado es 100. |
app-deployment-timeout |
El intervalo de tiempo, en segundos, que puede transcurrir antes de que la compilación tenga éxito o falle. |
app-health-endpoint |
El punto final de salud de la app; por ejemplo, /health. |
app-max-scale |
El número máximo de instancias que se pueden utilizar para esta aplicación. Si establece este valor en 0, la aplicación escala según sea necesario. El escalado de la aplicación sólo está limitado por las instancias según la
cuota de recursos del proyecto de la aplicación. Consulte Límites y cuotas de Code Engine. El valor predeterminado es 10. |
app-min-scale |
El número mínimo de instancias que se pueden utilizar para esta aplicación. Esta opción es útil para garantizar que no se están ejecutando instancias cuando no se necesitan. Este valor es opcional. El valor predeterminado es 0. |
app-name |
El nombre de la aplicación. Utilice un nombre que sea exclusivo dentro del proyecto. |
app-port |
El puerto donde la aplicación escucha las conexiones entrantes. El formato es [NAME:]PORT, donde [NAME:] es opcional. Si se especifica [NAME:], los valores válidos son h2c o http1.
Por defecto, Code Engine asume que las aplicaciones escuchan las conexiones entrantes en el puerto 8080. |
app-visibility |
La visibilidad de la aplicación. Los valores válidos son public, private y project. Establecer una visibilidad de public significa que la aplicación puede recibir solicitudes del Internet
público o de componentes del proyecto Code Engine. Consulte Opciones de visibilidad para una aplicación Code Engine. |
branch |
La rama del repositorio que contiene el archivo buildpacks o el archivo Dockerfile. El valor predeterminado es main. |
build-size |
El tamaño de la compilación, que determina la cantidad de recursos utilizados. Los valores válidos son small, medium, large, xlarge y xxlarge. Para obtener detalles, consulte
Determinación del tamaño de la compilación. |
build-strategy |
La estrategia que se va a utilizar para compilar la imagen. Los valores válidos son dockerfile y buildpacks. |
build-timeout |
El intervalo de tiempo, en segundos, que puede transcurrir antes de que la ejecución de compilación tenga éxito o falle. El valor predeterminado es 1200 segundos. |
build-use-native-docker |
Propiedad opcional para optar por utilizar prestaciones de compilación de Docker nativas en lugar de la compilación Code Engine para contenerizar el origen. Puede seleccionar este valor sólo si build-strategy está establecido
en dockerfile. Los valores válidos son true y false. |
code-engine-project |
El proyecto que contiene esta aplicación. |
cpu |
La cantidad de CPU establecida para la instancia de la aplicación. Para obtener los valores válidos, consulte Combinaciones de memoria y CPU soportadas. El valor predeterminado
es 1. |
deployment-type |
Especifica el tipo de despliegue. Los valores válidos son application y job. |
ephemeral-storage |
La cantidad de almacenamiento efímero a establecer para la instancia de la aplicación. Utilice M para megabytes o G para gigabytes. |
git-token |
La señal de acceso para el repositorio Git. |
image-name |
El nombre de la imagen que se utiliza para esta aplicación. El formato es REGISTRY/NAMESPACE/REPOSITORY:TAG donde REGISTRY y TAG son opcionales. Si no se especifica REGISTRY, el valor
predeterminado es docker.io. Si no se especifica TAG, el valor predeterminado es latest. |
memory |
La cantidad de memoria establecida para la instancia de la aplicación. Utilice M para megabytes o G para gigabytes. Para obtener los valores válidos, consulte Combinaciones de memoria y CPU soportadas.
El valor predeterminado es 4G. |
path-to-context |
El directorio del repositorio que contiene el archivo de paquetes de compilación o el Dockerfile. |
path-to-dockerfile |
La vía de acceso al Dockerfile. Especifique esta opción únicamente si el nombre es distinto de Dockerfile. |
pipeline-debug |
Modalidad de depuración de interconexión. El valor puede ser 0 o 1. El valor predeterminado es 0. |
region |
La región donde se encuentra el proyecto Code Engine. |
registry-namespace |
El espacio de nombres de registro de contenedor que almacena la imagen compilada. |
registry-region |
La región de registro de contenedor. |
resource-group |
El grupo de recursos que contiene el proyecto Code Engine. |
service-bindings |
Enlace de servicio que enlaza una instancia de servicio de IBM Cloud con una aplicación. Este valor tiene el formato "{"<SERVICE_INSTANCE_NAME>": "<BINDING_PREFIX>"}".
Por ejemplo, "{"object-store-rg-e": "CLOUD_OBJECT_STORAGE"}. Este valor debe estar en base64. |
Para obtener más opciones, consulte las Propiedades de entorno para el conducto en los valores de la cadena de herramientas.
Resolución de problemas de cadena de herramientas
Resuelva los problemas de la cadena de herramientas de Code Engine con los temas siguientes.