Si votre instance Secure Source Manager n'a pas encore été créée, consultez Créer une instance Secure Source Manager pour commencer.
Avant de commencer
- Créez une instance Secure Source Manager ou demandez-y l'accès. Pour en savoir plus, consultez Créer une instance Secure Source Manager.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init - Installez le composant
betade Google Cloud CLI :gcloud components install alpha
Rôles requis
Pour obtenir les autorisations nécessaires pour créer un dépôt, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Rôle Créateur de dépôts d'instances Secure Source Manager (
roles/securesourcemanager.instanceRepositoryCreator) sur l'instance Secure Source Manager -
Rôle Créateur de dépôts Secure Source Manager (
roles/securesourcemanager.repoCreator) sur le projet d'instance
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Pour savoir comment accorder des rôles Secure Source Manager, consultez Contrôle des accès avec IAM et Accorder aux utilisateurs l'accès à l'instance.
Créer un dépôt
Interface Web
-
Pour accéder à l'instance Secure Source Manager via son interface Web, copiez l'URL suivante dans la barre d'adresse de votre navigateur.
INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.devRemplacez les éléments suivants :
- Remplacez INSTANCE_ID par le nom de l'instance.
- PROJECT_NUMBER par le numéro de projet Google Cloudde l'instance. Pour savoir comment identifier des projets, consultez Identifier des projets.
- LOCATION par la région de l'instance.
Si nécessaire, authentifiez-vous à l'aide de vos identifiants Secure Source Manager.
Cliquez sur l'icône + Créer un dépôt en haut à droite du menu de navigation.
Renseignez les informations sur le dépôt :
ID du dépôt : saisissez un nom pour le dépôt.
Description : facultatif. Description du dépôt.
Branche par défaut : nom de la branche par défaut.
Initialiser le dépôt : facultatif. Sélectionnez cette option si vous souhaitez initialiser le dépôt et ajouter les fichiers .gitignore, de licence et README.
.gitignore : facultatif. Choisissez les fichiers à ne pas suivre à l'aide des modèles de menu déroulant.
license : facultatif. Sélectionnez une licence courante dans le menu déroulant.
Cliquez sur Créer un dépôt.
gcloud
Créez un dépôt à l'aide de la gcloud CLI en exécutant la commande suivante :
gcloud alpha source-manager repos create REPOSITORY_ID \ --region=LOCATION \ --project=PROJECT_ID \ --instance=INSTANCE_ID \ --description=DESCRIPTION \ --default-branch=BRANCH \ --gitignores=GITIGNORES \ --license=LICENSE \ --readme=READMERemplacez les éléments suivants :
REPOSITORY_IDpar le nom de votre dépôt.LOCATIONpar la région dans laquelle vous souhaitez créer le dépôt. Pour en savoir plus sur les emplacements acceptés, consultez la page Emplacements.PROJECT_IDpar l'ID du projet de l'instance Secure Source Manager dans laquelle vous souhaitez créer le dépôt.INSTANCE_IDpar l'ID de l'instance dans laquelle vous créez le dépôt. Pour répertorier les instances Secure Source Manager de votre projet, consultez Lister et afficher les instances.DESCRIPTIONpar une description du dépôt. Cette information est facultative et peut être omise.BRANCHpar le nom de la branche par défaut. Cette opération est facultative et peut être omise. Si aucun nom de branche par défaut n'est défini, la valeurmainest utilisée.GITIGNORESpar une liste de noms de modèles gitignore séparés par une virgule. Cette information est facultative et peut être omise. Pour afficher la liste complète des modèles disponibles, consultez la documentation de référence sur la configuration de l'initialisation du dépôt.LICENSEpar le nom du modèle de licence à appliquer à votre dépôt. Cette information est facultative et peut être omise. Pour afficher la liste complète des modèles de licence disponibles, consultez la documentation de référence sur la configuration de l'initialisation du dépôt.READMEavecdefaultpour créer un fichier README à partir du modèle par défaut. Cette information est facultative et peut être omise. Si elle est omise, aucun fichier README ne sera créé.
API
Créez un dépôt à l'aide d'un appel REST en exécutant la commande suivante :
curl \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://securesourcemanager.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/repositories?repository_id=REPOSITORY_ID \ -d '{"instance": "projects/PROJECT_ID/locations/REGION/instances/INSTANCE_ID"}'Remplacez les éléments suivants :
REGIONcorrespond à la région de votre instance Secure Source Manager. Pour en savoir plus sur les emplacements acceptés, consultez la page Emplacements.INSTANCE_IDest l'ID de votre instance Secure Source Manager.PROJECT_IDest l'ID de projet de votre instance Secure Source Manager. Pour savoir où trouver l'ID de votre projet, consultez Identifier des projets.REPOSITORY_IDest le nom du dépôt.
Des valeurs supplémentaires peuvent être spécifiées à l'aide du tag de données HTTP POST,
-d'{}', y compris l'initialisation du dépôt, l'ajout d'un fichier.gitignorespécifique ou des licences. Pour en savoir plus, consultez la documentation de référence.Si vous souhaitez que votre résultat soit lisible par l'homme, vous pouvez le rediriger vers JSON à l'aide de
json_pp.Exemple :
curl \ -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://securesourcemanager.googleapis.com/v1/projects/my-project-id/locations/us-central1/repositories?repository_id=my-repo \ -d '{"instance": "projects/my-project-id/locations/us-central1/instances/prod-test-instance", "initialConfig":{"defaultBranch":"main"}}' | json_ppLa réponse ressemblera à ce qui suit :
{ "name": "operations/266bf4c7-13fe-11ed-be24-da823b7355d0", "metadata": { "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata", "createTime": "2022-08-04T14:02:59.810496928Z", "endTime": "2022-08-04T14:03:00.558354528Z", "target": "projects/654987321654/locations/us-central1/repositories/my-repo", "verb": "create", "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.Repository", "name": "projects/my-project-id/locations/us-central1/repositories/my-repo", "instance": "projects/654987321654/locations/us-central1/instances/prod-test-instance", "createTime": "2022-08-04T14:03:00Z", "uris": { "html": "https://prod-test-instance-654987321654.us-central1.sourcemanager.dev/my-project-id/my-repo", "gitHttps": "https://prod-test-instance-654987321654-git.us-central1.sourcemanager.dev/my-project-id/my-repo.git" } }Où :
654987321654est le numéro du projet de dépôt.my-project-idest l'ID du projet de dépôt.my-repocorrespond auREPOSITORY_IDque vous avez défini dans la commande de création. Le champuriscontient les URL permettant d'accéder au dépôt via le navigateur Web ou via l'accès HTTPS au protocole Git.
Accédez à votre nouveau dépôt avec l'URI HTML dans la réponse. L'examen du code, le suivi des problèmes et les demandes d'extraction sont compatibles avec l'interface Web Secure Source Manager.
Le dépôt est créé dans votre instance Secure Source Manager.
Le rôle Administrateur de dépôt (roles/securesourcemanager.repoAdmin) vous est attribué lorsque vous créez un dépôt. La propagation de la nouvelle autorisation IAM peut prendre jusqu'à deux minutes. Par conséquent, si vous obtenez une erreur d'autorisation lorsque vous essayez d'accéder au dépôt après sa création, patientez quelques minutes et réessayez.
Les dépôts que vous avez créés sont listés dans l'interface Web Secure Source Manager sur la page Mes dépôts.
Étapes suivantes
- Accorder aux utilisateurs l'accès au dépôt
- Utilisez la gestion du code source Git avec Secure Source Manager.
- Lister et afficher les dépôts dans l'interface Web Secure Source Manager.