Implementación continua desde Git mediante Cloud Build

Puedes usar Cloud Build a fin de automatizar las implementaciones y compilaciones en la entrega de Knative con el activador de Cloud Build para compilar e implementar tu código automáticamente cada vez que se envíen confirmaciones nuevas a una rama específica de un repositorio de Git.

Cuando usas un activador de Cloud Build para compilar contenedores, la información del repositorio de código fuente se muestra en la consola de Google Cloud para tu servicio después de la implementación en la entrega de Knative.

Antes de comenzar

  • Tienes un repositorio de Git con un Dockerfile o tu base de código está escrita en uno de los lenguajes compatibles con los paquetes de compilación de Google Cloud: Go, Node.js, Python, Java o .NET Core.
  • Habilita las API de Cloud Build y Cloud Source Repositories.

    Habilita las API

Cómo configurar la implementación continua desde la interfaz de usuario de entrega de Knative

El procedimiento varía un poco en función de si configuras la implementación continua en un servicio nuevo o en uno existente. Haz clic en la pestaña correspondiente para obtener más información.

Servicio nuevo

  1. Ve a la entrega de Knative en la consola de Google Cloud:

    Ir a la entrega de Knative

  2. Haz clic en Crear servicio.

  3. Completa la Configuración del servicio (Service settings) con tus preferencias.

  4. Haz clic en Siguiente.

  5. Selecciona Continuously deploy new revisions from a source repository.

    Configuración con Cloud Build

  6. Haz clic en Configuración con Cloud Build (Set up with Cloud Build).

  7. Selecciona el proveedor y el repositorio.

    • GitHub: Si aún no estás autenticado, haz clic en Autenticar y sigue las instrucciones. De forma predeterminada, la conexión de un repositorio se realiza a través de la app de GitHub de Cloud Build. Como alternativa, puedes duplicar el repositorio de GitHub en Cloud Source Repositories. Para hacerlo, haz clic en Opciones avanzadas (Advanced options) y marca Duplicar el repositorio de GitHub con Cloud Source Repositories. Más información
    • Bitbucket: Si aún no estás autenticado, haz clic en Autenticar y sigue las instrucciones.
    • Cloud Source Repositories

    Paso 1 de Configura la implementación continua

  8. Haz clic en Siguiente (Next).

  9. Completa las opciones del paso Configuración de compilación (Build Configuration):

    • Rama (Branch): Indica qué fuente se debe usar cuando se ejecuta el activador. Puedes ingresar la regex aquí. Las ramas coincidentes se verifican de forma automática, y puedes verlas debajo de la entrada. Ten en cuenta que si solo coincide una rama, el activador se ejecutará de manera automática después de la creación.
    • Build Type

      • Si el repositorio se debe compilar con Docker y contiene un Dockerfile, selecciona Dockerfile. En Ubicación de origen (Source location), se indica la ubicación y el nombre del Dockerfile. El directorio se usará como el contexto de compilación de Docker. Todas las rutas de acceso deben estar relacionadas con el directorio actual.

      • De lo contrario, selecciona Google Cloud Buildpacks. Usa Buildpack context para especificar el directorio y Entrypoint (opcional) a fin de proporcionar el comando que inicia el servidor. Por ejemplo, gunicorn -p :8080 main:app para Python, java -jar target/myjar.jar para Java. Déjalo en blanco para usar el comportamiento predeterminado.

    Paso 2 de Configura la implementación continua

  10. Haz clic en Guardar (Save).

  11. Verifica la configuración seleccionada.

    Verificación de la configuración de la implementación continua

  12. Haz clic en Crear.

  13. Ten en cuenta que se te redireccionará a la página Detalles del servicio, en la que podrás realizar un seguimiento del progreso de la configuración de la implementación continua.

  14. Una vez que hayas completado todos los pasos, ten en cuenta las opciones adicionales:

Servicio existente

  1. Ve a la entrega de Knative en la consola de Google Cloud:

    Ir a la entrega de Knative

  2. Ubica el servicio en la lista de servicios y haz clic en él.

  3. Haz clic en Configura la implementación continua.

  4. Selecciona el proveedor y el repositorio.

    • GitHub: Si aún no estás autenticado, haz clic en Autenticar y sigue las instrucciones. De forma predeterminada, la conexión de un repositorio se realiza a través de la app de GitHub de Cloud Build. Como alternativa, puedes duplicar el repositorio de GitHub en Cloud Source Repositories. Para hacerlo, haz clic en Opciones avanzadas (Advanced options) y marca Duplicar el repositorio de GitHub con Cloud Source Repositories. Más información
    • Bitbucket: Si aún no estás autenticado, haz clic en Autenticar y sigue las instrucciones.
    • Cloud Source Repositories

    Paso 1 de Configura la implementación continua

  5. Haz clic en Siguiente (Next).

  6. Completa las opciones del paso Configuración de compilación (Build Configuration):

    • Rama (Branch): Indica qué fuente se debe usar cuando se ejecuta el activador. Puedes ingresar la regex aquí. Las ramas coincidentes se verifican de forma automática, y puedes verlas debajo de la entrada. Ten en cuenta que si solo coincide una rama, el activador se ejecutará de manera automática después de la creación.
    • Build Type

      • Si el repositorio se debe compilar con Docker y contiene un Dockerfile, selecciona Dockerfile. En Ubicación de origen (Source location), se indica la ubicación y el nombre del Dockerfile. El directorio se usará como el contexto de compilación de Docker. Todas las rutas de acceso deben estar relacionadas con el directorio actual.

      • De lo contrario, selecciona Google Cloud Buildpacks. Usa Buildpack context para especificar el directorio y Entrypoint (opcional) a fin de proporcionar el comando que inicia el servidor. Por ejemplo, gunicorn -p :8080 main:app para Python, java -jar target/myjar.jar para Java. Déjalo en blanco para usar el comportamiento predeterminado.

    Paso 2 de Configura la implementación continua

  7. Haz clic en Guardar.

  8. La página se vuelve a cargar y se muestra el progreso de la configuración de la implementación continua.

  9. Una vez que hayas completado todos los pasos, ten en cuenta las opciones adicionales:

Configura la implementación continua de forma manual

Consulta Configura la implementación continua de forma manual si necesitas usar un procedimiento manual y no la IU.

Adjunta el activador de Cloud Build existente al servicio de entrega de Knative.

Si ya tienes un activador de Cloud Build existente, puedes vincularlo al servicio y aprovechar las funciones de la consola de Google Cloud de la página Detalles del servicio: el botón Editar implementación continua y el gráfico Historial de compilaciones.

Para hacerlo, debes agregar una etiqueta con gcb-trigger-id como clave y el identificador único del activador de Cloud Build como valor (no el nombre del activador). Consulta estas instructions para configurar la etiqueta.