Implementa una app en Cloud Run con Cloud Deploy
En esta página, se muestra cómo usar Cloud Deploy para entregar una imagen de aplicación de ejemplo llamada hello a una secuencia de dos servicios de Cloud Run, dos trabajos de Cloud Run o dos grupos de trabajadores de Cloud Run.
En esta guía de inicio rápido, harás lo siguiente:
Crea una configuración de Skaffold
Crea archivos de configuración para dos servicios de Cloud Run, dos trabajos o dos grupos de trabajadores.
Estos archivos definen los servicios o trabajos, y especifican las imágenes de contenedor (precompiladas) que se implementarán.
Definirás la canalización de entrega de Cloud Deploy y los destinos de implementación, que apuntarán a los dos servicios, los dos trabajos o los dos grupos de trabajadores.
Crearás una versión de la canalización de entrega, que se implementará de forma automática en el primer destino.
Ascenderás el lanzamiento al segundo destino.
Visualizarás ambos lanzamientos en la consola de Google Cloud .
Antes de comenzar
- Accede a tu cuenta de Google Cloud . Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Deploy, Cloud Build, Cloud Run, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Deploy, Cloud Build, Cloud Run, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
Roles obligatorios
Para asegurarte de que la cuenta de servicio de Cloud Deploy tenga los permisos necesarios para ejecutar operaciones de Cloud Deploy y realizar implementaciones en Cloud Run, pídele a tu administrador que otorgue los siguientes roles de IAM a la cuenta de servicio de Cloud Deploy en tu proyecto:
- Desarrollador de Cloud Run (
roles/run.developer) - Usuario de cuenta de servicio de IAM (
roles/iam.serviceAccountUser) - Ejecutor de trabajos de Cloud Deploy (
roles/clouddeploy.jobRunner)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Es posible que tu administrador también pueda otorgar a la cuenta de servicio de Cloud Deploy los permisos necesarios a través de roles personalizados o de otros roles predefinidos.
Prepara tu configuración de Skaffold
Cloud Deploy usa Skaffold para proporcionar los detalles sobre qué implementar y cómo hacerlo de forma correcta para tus destinos por separado.
En esta guía de inicio rápido, crearás un archivo skaffold.yaml, que identifica la definición del servicio o trabajo de Cloud Run que se usará para implementar la app de ejemplo.
Abre una ventana de terminal.
Crea un directorio nuevo llamado
deploy-run-quickstarty navega hasta él.mkdir deploy-run-quickstart cd deploy-run-quickstartCrea un archivo llamado
skaffold.yamlcon el contenido siguiente:Servicios
apiVersion: skaffold/v4beta7 kind: Config metadata: name: deploy-run-quickstart profiles: - name: dev manifests: rawYaml: - run-service-dev.yaml - name: prod manifests: rawYaml: - run-service-prod.yaml deploy: cloudrun: {}