Date de la publication : 24 novembre 2025
Lecture : 7 min
Notre guide, accompagné d'une application de démonstration, détaille comment utiliser l'IA agentique avec les intégrations natives et les composants CI/CD de GitLab.

Dans un contexte où l'IA agentique transforme notre façon de concevoir des applications intelligentes, le déploiement sécurisé et efficace d'agents d'IA peut s'avérer complexe. Dans ce tutoriel, vous apprendrez à déployer un agent d'IA développé avec l'Agent Development Kit (ADK) de Google sur Cloud Run au moyen des intégrations natives et des composants CI/CD de GitLab.
→ Essayez GitLab Ultimate et GitLab Duo Enterprise gratuitement.
L'IA agentique représente une évolution majeure dans le domaine de l'intelligence artificielle. Contrairement aux outils d'IA générative traditionnels, qui nécessitent une supervision humaine constante, les agents d'IA utilisent des modèles de langage avancés et le traitement du langage naturel pour agir en toute autonomie. Ils peuvent comprendre des demandes, prendre des décisions et exécuter des plans en plusieurs étapes pour atteindre des objectifs de façon indépendante.
Ce tutoriel utilise l'ADK de Google, un framework flexible et modulaire pour développer et déployer des agents d'IA. Bien qu'optimisé pour Gemini et l'écosystème Google, l'ADK ne dépend pas d'un modèle ni d'un déploiement, et est conçu pour être compatible avec d'autres frameworks.
Pour illustrer le processus de déploiement, nous utiliserons un exemple concret : Canada City Advisor. Cet agent d'IA aide les utilisateurs à trouver la ville canadienne qui leur convient en fonction de leurs préférences et restrictions.
Voici comment l'agent fonctionne :
Les utilisateurs saisissent leur budget et leurs préférences en matière de style de vie.
L'agent principal coordonne deux sous-agents :
Le système génère des recommandations de villes personnalisées.
Cette architecture multi-agents illustre la puissance de l'IA agentique : différents agents spécialisés collaborent pour résoudre un problème complexe. Les sous-agents ne sont sollicités que lorsque l'agent principal détermine qu'une analyse du budget et du style de vie est nécessaire.

Avant de commencer, assurez-vous de disposer des éléments suivants :
Un projet Google Cloud avec les API suivantes activées :
Un projet GitLab pour votre code source
Les autorisations adéquates dans GitLab et Google Cloud
Étape 1 : configurer l'intégration IAM avec la fédération d'identité de charge de travail
La première étape consiste à établir une authentification sécurisée sans clé entre GitLab et Google Cloud à l'aide de la fédération d'identité de charge de travail. Cette approche élimine le besoin de clés de compte de service et renforce la sécurité.
Dans votre projet GitLab :
Accédez à Paramètres > Intégrations > Google Cloud IAM.
Indiquez les informations suivantes :
GitLab génère un script pour vous. Copiez-le et exécutez-le dans votre Google Cloud Shell pour créer la fédération d'identité de charge de travail.
Étape 2 : configurer l'intégration Google Artifact Registry
Ensuite, nous allons configurer la connexion à Google Artifact Registry, où seront stockées nos images de conteneurs.
Dans GitLab, accédez à Paramètres > Intégrations > Google Artifact Registry.
Indiquez les données suivantes :
Important : le dépôt doit déjà exister dans Artifact Registry, car GitLab ne créera pas de nouveau dépôt.
GitLab génère des commandes pour configurer les autorisations nécessaires. Exécutez-les dans Google Cloud Shell.
Ajoutez également ces rôles à l'identité du service pour le déploiement Cloud Run :
roles/run.adminroles/iam.serviceAccountUserroles/cloudbuild.builds.editorVous pouvez ajouter ces rôles à l'aide des commandes gcloud suivantes :
GCP_PROJECT_ID="<your-project-id>" #replace
GCP_PROJECT_NUMBER="<your-project-number>" #replace
GCP_WORKLOAD_IDENTITY_POOL="<your-pool-id>" #replace
gcloud projects add-iam-policy-binding ${GCP_PROJECT_ID} \
--member="principalSet://iam.googleapis.com/projects/${GCP_PROJECT_NUMBER}/locations/global/workloadIdentityPools/${GCP_WORKLOAD_IDENTITY_POOL}/attribute.developer_access/true" \
--role='roles/run.admin'
gcloud projects add-iam-policy-binding ${GCP_PROJECT_ID} \
--member="principalSet://iam.googleapis.com/projects/${GCP_PROJECT_NUMBER}/locations/global/workloadIdentityPools/${GCP_WORKLOAD_IDENTITY_POOL}/attribute.developer_access/true" \
--role='roles/iam.serviceAccountUser'
gcloud projects add-iam-policy-binding ${GCP_PROJECT_ID} \
--member="principalSet://iam.googleapis.com/projects/${GCP_PROJECT_NUMBER}/locations/global/workloadIdentityPools/${GCP_WORKLOAD_IDENTITY_POOL}/attribute.developer_access/true" \
--role='roles/cloudbuild.builds.editor'
Étape 3 : créer le pipeline CI/CD
Passons maintenant à la partie la plus intéressante : la création de notre pipeline de déploiement, une tâche particulièrement simple grâce aux composants CI/CD de GitLab.
Créez un fichier .gitlab-ci.yml à la racine de votre projet :
stages:
- build
- test
- upload
- deploy
variables:
GITLAB_IMAGE: $CI_REGISTRY_IMAGE/main:$CI_COMMIT_SHORT_SHA
AR_IMAGE: $GOOGLE_ARTIFACT_REGISTRY_REPOSITORY_LOCATION-docker.pkg.dev/$GOOGLE_ARTIFACT_REGISTRY_PROJECT_ID/$GOOGLE_ARTIFACT_REGISTRY_REPOSITORY_NAME/main:$CI_COMMIT_SHORT_SHA
build:
image: docker:24.0.5
stage: build
services:
- docker:24.0.5-dind
before_script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
script:
- docker build -t $GITLAB_IMAGE .
- docker push $GITLAB_IMAGE
include:
- template: Jobs/Dependency-Scanning.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Jobs/Dependency-Scanning.gitlab-ci.yml
- template: Jobs/SAST.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Jobs/SAST.gitlab-ci.yml
- template: Jobs/Secret-Detection.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Jobs/Secret-Detection.gitlab-ci.yml
- component: gitlab.com/google-gitlab-components/artifact-registry/upload-artifact-registry@main
inputs:
stage: upload
source: $GITLAB_IMAGE
target: $AR_IMAGE
- component: gitlab.com/google-gitlab-components/cloud-run/deploy-cloud-run@main
inputs:
stage: deploy
project_id: "<your-project-id>" #replace
service: "canadian-city"
region: "us-central1"
image: $AR_IMAGE
Le pipeline se compose de quatre étapes :
Les composants CI/CD de GitLab possèdent un avantage indéniable : vous n'avez qu'à fournir quelques paramètres, et ils se chargent de gérer toute la logique complexe d'authentification et de déploiement.
Étape 4 : déployer et tester
Une fois que tout est configuré, il est temps de déployer :
.gitlab-ci.yml dans votre dépôt GitLab.Vous y verrez chaque étape s'exécuter :
Cette approche offre plusieurs avantages en matière de sécurité :
En combinant les fonctionnalités de sécurité de GitLab avec les puissantes plateformes d'IA sans serveur de Google Cloud, vous pouvez déployer des agents d'IA à la fois sécurisés et évolutifs. L'intégration entre GitLab et Google Cloud élimine une grande partie de la complexité généralement associée à ce type de déploiements.
Utilisez l'exemple de code complet de ce tutoriel pour vous lancer dès maintenant.
→ Essayez GitLab Ultimate et GitLab Duo Enterprise gratuitement.
Cet article de blog vous a plu ou vous avez des questions ou des commentaires ? Partagez vos réflexions en créant un sujet dans le forum de la communauté GitLab.
Donnez votre avis