Cette page explique comment déployer des applications sur des fonctions Cloud Run à l'aide de Cloud Build. Si vous débutez avec Cloud Build, commencez par lire les Guides de démarrage rapide et la Présentation de la configuration des compilations.
Cloud Run Functions est un environnement d'exécution sans serveur permettant de créer et de connecter des services cloud. Avec Cloud Run Functions, vous pouvez écrire des fonctions simples à application unique qui sont associées à des événements émis par votre infrastructure et vos services cloud. Une fonction est déclenchée quand un événement surveillé est lancé. Pour plus d'informations sur les fonctions Cloud Run, consultez Documentation sur les fonctions Cloud Run
Avant de commencer
Activez l'API Cloud Run Functions :
Attribuez le rôle Développeur de fonctions Cloud Run à votre service de compilation. compte:
Accédez à la page Paramètres de Cloud Build :
Définissez le rôle Développeur de fonctions Cloud Run sur l'état Activé.
Pour exécuter les commandes
gcloud
sur cette page, installez la Google Cloud CLI ;Conserver le code source de l'application sur laquelle vous souhaitez créer et déployer les fonctions Cloud Run. Votre code source doit être stocké dans un dépôt, tel que Cloud Source Repositories, GitHub ou Bitbucket.
Configurer le déploiement
Cloud Build permet d'exécuter vos tâches à l'aide de n'importe quelle image de conteneur
disponible publiquement. Pour ce faire, spécifiez l'image dans une version step
du fichier de configuration de Cloud Build.
Les fonctions Cloud Run fournissent la commande gcloud functions deploy
, qui
déploie votre fonction à partir du répertoire contenant son code.
Vous pouvez utiliser
Image cloud-sdk
en tant qu'étape de compilation dans votre fichier de configuration pour appeler des commandes gcloud
dans l'image.
Les arguments transmis à cette étape de compilation sont directement transmis à Google Cloud CLI.
ce qui vous permet d'exécuter n'importe quelle commande gcloud
dans cette image.
Pour déployer une application sur des fonctions Cloud Run, procédez comme suit:
- Dans le répertoire racine de votre projet, créez le
fichier de configuration Cloud Build,
nommé
cloudbuild.yaml
oucloudbuild.json
. Dans le fichier de configuration :
- Ajoutez un champ
name
et spécifiez l'étape de compilationgcloud
. - Ajoutez
functions deploy
au champargs
pour appeler la commandegcloud functions deploy
. Pour connaître les options de configuration disponibles, consultez la documentation de référence surgcloud functions deploy
. --source=.
indique que le code source se trouve dans le répertoire de travail actuel.
YAML
steps: - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' args: - gcloud - functions - deploy - FUNCTION_NAME - --region=FUNCTION_REGION - --source=. - --trigger-http - --runtime=RUNTIME
JSON
{ "steps": [ { "name": "gcr.io/google.com/cloudsdktool/cloud-sdk", "args": [ "gcloud", "functions", "deploy", [ "FUNCTION_NAME" ], "--region=FUNCTION_REGION", "--source=.", "--trigger-http", "--runtime=RUNTIME" ] } ] }
Remplacez les valeurs d'espace réservé dans le fichier de configuration ci-dessus par les éléments suivants :
FUNCTION_NAME
est le nom des fonctions Cloud Run que vous déployez. Si vous mettez à jour une fonction existante, cette valeur doit correspondre au nom de la fonction que vous mettez à jour.FUNCTION_REGION
est la région dans laquelle vous vous trouvez déployer des fonctions Cloud Run. Pour obtenir la liste des régions disponibles, consultez Emplacements des fonctions Cloud Run--trigger-http
est le type de déclencheur pour cette fonction, dans ce cas une requête HTTP (webhook).RUNTIME
correspond à l'environnement d'exécution dans lequel exécuter la fonction.
Pour en savoir plus sur l'utilisation de
gcloud functions deploy
, consultez la documentation sur les fonctions Cloud Run.- Ajoutez un champ
Commencez la compilation à l'aide du fichier de configuration créé à l'étape précédente :
gcloud builds submit --region=REGION --config CONFIG_FILE_PATH SOURCE_DIRECTORY
Remplacez les valeurs d'espace réservé dans le fichier de configuration ci-dessus par les éléments suivants :
CONFIG_FILE_PATH
est le chemin d'accès du fichier de configuration de compilationSOURCE_DIRECTORY
est le chemin d'accès ou l'URL du code source.REGION
est l'une des régions de compilation disponibles.
Si vous ne spécifiez pas les éléments
CONFIG_FILE_PATH
etSOURCE_DIRECTORY
dans la commandegcloud builds submit
, Cloud Build considère que le fichier de configuration et le code source se trouvent dans le répertoire de travail actuel.
Déploiement continu
Vous pouvez automatiser le déploiement de votre logiciel dans des fonctions Cloud Run en créant déclencheurs Cloud Build. Vous pouvez configurer vos déclencheurs pour créer et déployer des images chaque fois que vous mettez à jour votre code source.
Pour automatiser votre déploiement dans des fonctions Cloud Run :
Dans la racine de votre dépôt, ajoutez un fichier de configuration contenant des étapes permettant d'appeler la commande
gcloud functions deploy
:YAML
steps: - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' args: - gcloud - functions - deploy - FUNCTION_NAME - --region=FUNCTION_REGION - --source=. - --trigger-http - --runtime=RUNTIME
JSON
{ "steps": [ { "name": "gcr.io/google.com/cloudsdktool/cloud-sdk", "args": [ "gcloud", "functions", "deploy", [ "FUNCTION_NAME" ], "--region=FUNCTION_REGION", "--source=.", "--trigger-http", "--runtime=RUNTIME" ] } ] }
Remplacez les valeurs d'espace réservé dans le fichier de configuration ci-dessus par les éléments suivants :
FUNCTION_NAME
est le nom des fonctions Cloud Run que vous déployez. Si vous mettez à jour une fonction existante, cette valeur doit correspondre au nom de la fonction que vous mettez à jour.FUNCTION_REGION
est la région dans laquelle vous déployez des fonctions Cloud Run. Pour obtenir la liste des régions disponibles, consultez la section Emplacements des fonctions Cloud Run.--trigger-http
est le type de déclencheur pour cette fonction, dans ce cas une requête HTTP (webhook).RUNTIME
correspond à l'environnement d'exécution dans lequel exécuter la fonction.
Créez un déclencheur de compilation à l'aide du fichier de configuration créé à l'étape précédente :
Ouvrez la page Déclencheurs dans la console Google Cloud :
Sélectionnez votre projet dans le menu déroulant du sélecteur de projet en haut de la page.
Cliquez sur Créer un déclencheur.
Dans le champ Nom, saisissez le nom du déclencheur.
Sous Région, sélectionnez la région de votre déclencheur.
Sous Événement, sélectionnez l'événement du dépôt pour démarrer le déclencheur.
Sous Source, sélectionnez le dépôt et le nom de la branche ou du tag qui lancera votre déclencheur. Pour en savoir plus sur la spécification des branches à compiler automatiquement, consultez la page Créer un déclencheur de compilation.
Sous Configuration, sélectionnez Fichier de configuration Cloud Build (YAML ou JSON).
Dans le champ Emplacement du fichier de configuration Cloud Build, saisissez
cloudbuild.yaml
après la barre oblique (/
).Cliquez sur Créer pour enregistrer le déclencheur de compilation.
Chaque fois que vous transférez du nouveau code dans votre dépôt, vous déclenchez automatiquement de compilation et de déploiement sur des fonctions Cloud Run.
Pour en savoir plus sur la création de déclencheurs Cloud Build, consultez la page Créer et gérer des déclencheurs de compilation.
Étape suivante
- Découvrez comment effectuer des déploiements bleu-vert sur Compute Engine.
- Apprenez à déployer sur Cloud Run
- Apprenez à déployer sur GKE
- Apprenez à déployer sur Firebase
- Apprenez à déployer sur App Engine
- Découvrez comment résoudre les erreurs de compilation.