Implemente en Cloud Run usando GitLab CI

Cloud Run | GitLab
En este artículo, lo guiaría a través de la implementación de aplicaciones en contenedores sin servidor en Cloud Run , usando GitLab CI y Cloud Build .
Cloud Run es una plataforma informática administrada que le permite ejecutar contenedores sin servidor sin estado que se escalan automáticamente.
Cloud Build es un servicio que ejecuta sus compilaciones en la infraestructura de Google Cloud Platform.
El servicio GitLab CI es una parte de GitLab que construye y prueba el software cada vez que el desarrollador empuja el código al repositorio de aplicaciones.

Prerrequisitos

Crear una cuenta de servicio para Google Cloud Build

  • En Google Cloud, navegue a través de Cloud Build> Configuración.
  • En Permisos de cuenta de servicio, asegúrese de que Cloud Run y las cuentas de servicio estén HABILITADAS , esto le permite implementar en Cloud Run.
  • Dado que le he dado a Cloud Build permisos suficientes, puedo crear una cuenta de servicio Cloud Build en IAM y Admin> Cuentas de servicio.
    Crearé una cuenta de servicio (NAME @ PROJECT.iam.gserviceaccount.com) y le daré el Agente de Cloud Build Service.
    En la página de la cuenta de servicio creada, haga clic en Agregar clave> JSON .
Página de la cuenta de servicio después de la creación de la clave

Configure GitLab CI para usar Cuentas de servicio

En el repositorio de GitLab, navegue a través de Configuración> CI / CD> Variables.

Configuración de repositorio de GitLab> CI / CD> Variables

Como se vio anteriormente, creé una variable para GCP_PROJECT_ID cuyo valor es el ID de proyecto de Google Cloud y GCP_SERVICE_KEY cuyo valor es el contenido de la cuenta de servicio JSON creada anteriormente.

Despliegue continuo a Cloud Run

Con solo unos pocos pasos restantes, mi aplicación se implementaría continuamente en Cloud Run directamente desde nuestro repositorio de GitLab.

Mi aplicación también tiene un Dockerfile que está configurado para ejecutarse en el puerto 8080 (el puerto predeterminado para Cloud Run).

Finalmente, creé un archivo cloudbuild.yaml que contiene los comandos para construir e implementar Cloud Build y el archivo .gitlab-ci.yml que activa los procesos de implementación cuando se empuja el código.

Aquí hay una vista previa de mi archivo Cloud Build CI:

Aquí hay una vista previa de mi archivo GitLab CI:

Recursos adicionales en Cloud Build


Implementar en Cloud Run usando GitLab CI se publicó originalmente en Google Cloud - Community on Medium, donde las personas continúan la conversación resaltando y respondiendo a esta historia.