Créer des dépôts à partir de GitLab Enterprise Edition dans un réseau privé

Cloud Build vous permet de créer des déclencheurs pour compiler à partir de dépôts hébergé sur GitLab Enterprise Edition vous permettant d'exécuter des compilations en réponse à des événements tels que des validations push de fusion associées à votre dépôt GitLab Enterprise Edition.

Cette page explique comment activer la fonctionnalité de déclenchement sur une application GitLab. Instance Enterprise Edition si votre instance est hébergée sur un réseau privé.

Avant de commencer

  • Activer les API Cloud Build, Secret Manager, Compute Engine, and Service Networking.

    Activer les API

Créer des dépôts à partir de GitLab Enterprise Edition dans un réseau privé

Si votre instance GitLab Enterprise Edition n'est accessible que dans un sur le réseau VPC, vous devez configurer Service de l'Annuaire des services, et compilation à l'aide de pools privés. La le projet contenant votre réseau VPC peut exister dans un autre projet que celui contenant le service de l'Annuaire des services. Suivez les instructions ci-dessous pour vous assurer que votre instance est accessible avant l'exécution créer des déclencheurs:

  1. Activez le paramètre API de l'Annuaire des services :

  2. Assurez-vous que le rôle Administrateur IAM de projet est attribué au rôle le projet Google Cloud dans lequel vous souhaitez créer dans le service de l'Annuaire des services. Pour savoir comment accorder les rôles IAM, consultez Configurer l'accès aux ressources Cloud Build

  3. Pour configurer un service de l'Annuaire des services, procédez comme suit:

    1. Configurer un espace de noms pour votre projet Google Cloud.

      La région que vous spécifiez dans votre espace de noms doit correspondre à la région que vous à spécifier dans votre connexion hôte Cloud Build.

    2. Configurer un service dans votre espace de noms.

    3. Configurer un point de terminaison pour le service enregistré.

      Lorsque vous configurez un point de terminaison, vous devez utiliser une adresse IP interne et spécifiez un numéro de port HTTPS pour que Cloud Build puisse accéder Google Cloud.

    Pour en savoir plus sur la configuration de l'accès à un réseau privé, consultez Configurer l'accès au réseau privé L'Annuaire des services s'intègre aussi aux services comme les équilibreurs de charge et Google Kubernetes Engine (GKE). Pour en savoir plus, consultez Présentation de l'annuaire des services et de l'équilibrage de charge ou Présentation de l'Annuaire des services pour GKE.

  4. Accorder à Cloud Build l'accès à l'Annuaire des services Agent de service:

    export PROJECT_NUMBER=$(gcloud projects describe PROJECT_ID --format="value(projectNumber)")
    export CLOUD_BUILD_SERVICE_AGENT="service-${PROJECT_NUMBER}@gcp-sa-cloudbuild.iam.gserviceaccount.com"
    gcloud projects add-iam-policy-binding PROJECT_ID_CONTAINING_SERVICE_DIRECTORY_RESOURCE \
       --member="serviceAccount:${CLOUD_BUILD_SERVICE_AGENT}" \
       --role="roles/servicedirectory.viewer"
    

    Où :

    • PROJECT_ID correspond à votre ID de projet Google Cloud.
    • PROJECT_ID_CONTAINING_SERVICE_DIRECTORY_RESOURCE correspond à l'ID du projet contenant votre ressource d'Annuaire des services.
  5. Attribuez le rôle Lecteur de l'annuaire des services à votre compte de service Cloud Build, service-${PROJECT_NUMBER}@gcp-sa-cloudbuild.iam.gserviceaccount.com

  6. Attribuez le rôle Service autorisé Private Service Connect à votre compte de service Cloud Build pour autoriser l'accès ressource de réseau VPC, service-${PROJECT_NUMBER}@gcp-sa-cloudbuild.iam.gserviceaccount.com Toi doit accorder le rôle dans le projet contenant votre VPC réseau.

  7. Utilisez des pools privés pour exécuter vos compilations. Si vous n'avez pas créé de pool privé, reportez-vous à la section Créer un pool privé piscine privée.

  8. Suivez les instructions pour Créer un déclencheur GitLab Enterprise Edition pour créer des dépôts hébergés sur une instance GitLab Enterprise Edition.

    Si vous incluez un certificat autosigné ou privé lors de la connexion de votre l'hôte GitLab Enterprise Edition sur Cloud Build, vous devez définir le l'URI de l'hôte comme nom d'objet de remplacement (SAN, Subject Alternative Name) de votre certificat.

Votre déclencheur GitLab Enterprise Edition appelle désormais automatiquement les builds sur votre instance GitLab Enterprise Edition selon votre configuration.

Partage des données

Les données envoyées à GitLab Enterprise Edition depuis Cloud Build vous aident identifier les déclencheurs par leur nom et afficher les résultats des compilations sur GitLab Enterprise Dépôts d'édition.

Les données suivantes sont partagées entre Cloud Build et GitLab Édition Enterprise:

  • ID de projet Google Cloud
  • Nom du déclencheur

Étape suivante