Automatiza las implementaciones de App Engine con Cloud Build

En esta guía de inicio rápido, se muestra cómo implementar automáticamente una app almacenada en Cloud Source Repositories en App Engine después de una nueva confirmación.

Antes de comenzar

  1. Completa los pasos de Crea un repositorio de código en Cloud Source Repositories.

    Después de completar esa guía de inicio rápido, tendrás una aplicación que puedes implementar en App Engine.

  2. Habilita las API de App Engine Admin, Cloud Build.

    Habilita las API

Otorga acceso de App Engine a la cuenta de servicio Cloud Build

Cloud Build usa una cuenta de servicio para implementar tu código. Los permisos predeterminados para esta cuenta no permiten ciertas acciones, como la implementación en App Engine.

Para permitir que tu cuenta de servicio realice implementaciones en App Engine, otórgale funciones adicionales de la administración de identidades y accesos (IAM):

  1. En Google Cloud Console, abre la página Configuración de Cloud Build:

    Abrir la página Configuración (Settings) de Cloud Build

    Verás la página Permisos de cuenta de servicio (Service account permissions):

    La página de permisos de la cuenta de servicio

  2. Configura el estado de la función App Engine Admin (Administrador de App Engine) como Enable (Habilitar).

Implementa tu app

  1. En una ventana de la terminal, ve al directorio que contiene el repositorio:

    cd hello-world
    
  2. Implementa la app de muestra:

    gcloud app deploy app.yaml
    
  3. Verifica que la app se esté ejecutando:

    gcloud app browse
    

    Si tu app se está ejecutando, el navegador mostrará el mensaje Hello, World!.

Crea un archivo cloudbuild.yaml

  1. En una ventana de la terminal, ve al directorio que contiene el repositorio:

    cd hello-world
    
  2. Con un editor de texto, crea un archivo llamado cloudbuild.yaml y pega la siguiente información de configuración:

    steps:
    - name: "gcr.io/cloud-builders/gcloud"
      args: ["app", "deploy"]
    timeout: "1600s"
    

Agrega el archivo cloudbuild.yaml a tu repositorio

  1. Agrega cloudbuild.yaml al repositorio:

    git add .
    
  2. Confirma el archivo con un comentario que describa el historial de esta acción:

    git commit -m "Add cloudbuild.yaml file"
    
  3. Usa el comando git push para agregar el contenido del repositorio de Git local a Cloud Source Repositories:

    git push origin master
    

Crea un activador de compilación

  1. En GCP Console, abre la página Activadores de Cloud Build.

    Abrir la página Activadores

  2. Si tu proyecto de Google Cloud no está seleccionado, haz clic en Seleccionar un proyecto y elige el nombre de tu proyecto de Google Cloud.

  3. Haz clic en Crear activador.

    Se abre la página Crear activador.

  4. Completa las siguientes opciones:

    • En el campo Nombre, escribe app-engine-test.
    • En Evento, selecciona Enviar a una rama.
    • En Fuente, selecciona hello-world como Repositorio y ^master$ como Rama.
    • En Configuración de compilación, selecciona Archivo de configuración de Cloud Build (YAML o JSON).
    • En el campo Ubicación del archivo de configuración de Cloud Build, escribe cloudbuild.yaml después de /.
  5. Haz clic en Crear para guardar el activador de compilación.

Envía un cambio a tu app

  1. En una ventana de la terminal, pega el siguiente código en un editor de texto para actualizar el archivo main.py:

    #!/usr/bin/env python
    
    import webapp2
    
    class MainHandler(webapp2.RequestHandler):
        def get(self):
            self.response.write('I update automatically!')
    
    app = webapp2.WSGIApplication([
        ('/', MainHandler)
    ], debug=True)
    
  2. Agrega el archivo a Git:

    git add .
    
  3. Confirma el archivo con un comentario que describa el historial de esta acción:

    git commit -m "Update app to demonstrate build triggers"
    
  4. Usa el comando git push para agregar el contenido del repositorio de Git local a Cloud Source Repositories:

    git push origin master
    

Consulta tu compilación en progreso

  1. En GCP Console, abre la página Activadores de Cloud Build.

    Abrir la página Activadores

  2. Si tu proyecto de Google Cloud no está seleccionado, haz clic en Seleccionar un proyecto y elige el nombre de tu proyecto de Google Cloud.

  3. Haz clic en Historial.

    Se abrirá una lista de todas las compilaciones. En la parte superior hay una entrada nueva que representa la compilación que comenzó después de que enviaras tu cambio a Cloud Source Repositories. Cuando la compilación está lista, aparece una marca de verificación verde junto a la entrada correspondiente.

Vuelve a probar tu app

En una ventana de la terminal, abre tu app:

gcloud app browse

El navegador ahora muestra el mensaje I update automatically!.

Limpia

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que se usaron en esta página.

Borra el activador de compilación

  1. En GCP Console, abre la página Activadores de Cloud Build.

    Abrir la página Activadores

  2. Si tu proyecto de Google Cloud no está seleccionado, haz clic en Seleccionar un proyecto y elige el nombre de tu proyecto de Google Cloud.

  3. En la misma línea que el activador que deseas eliminar, haz clic en Más , y luego haz clic en Eliminar.

Borra el repositorio

  1. En GCP Console, abre la página Todos los repositorios de Cloud Source Repositories.

    Abrir Cloud Source Repositories

  2. Mantén el puntero sobre el repositorio que deseas borrar y haz clic en Configuración.

    Se abrirá la página Configuración general.

  3. Haz clic en Borrar este repositorio.

    Se abrirá el cuadro de diálogo Quitar repositorio.

  4. Escribe el nombre del repositorio que deseas borrar.

  5. Haz clic en Borrar.

¿Qué sigue?