Repository erstellen und klonen
Erstellen Sie ein Repository in Secure Source Manager und klonen Sie es auf Ihren lokalen Computer.
Hinweise
- Erstellen Sie eine Secure Source Manager-Instanz oder fordern Sie Zugriff darauf an. Weitere Informationen finden Sie unter Secure Source Manager-Instanz erstellen.
-
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
- Installieren Sie die
alpha
-Komponente der Google Cloud CLI:gcloud components install alpha
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines Repositorys benötigen:
-
Rolle „Ersteller von Secure Source Manager-Instanz-Repositories“ (
roles/securesourcemanager.instanceRepositoryCreator
) in der Secure Source Manager-Instanz -
Rolle „Secure Source Manager Repo Creator“ (
roles/securesourcemanager.repoCreator
) für das Instanzprojekt
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Informationen zum Zuweisen von Secure Source Manager-Rollen finden Sie unter Zugriffssteuerung mit IAM und Nutzern Instanzzugriff gewähren.
Repository erstellen
Weboberfläche
-
Wenn Sie über die Weboberfläche auf die Secure Source Manager-Instanz zugreifen möchten, kopieren Sie die folgende URL in die Adressleiste Ihres Browsers.
INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.dev
Ersetzen Sie Folgendes:
- INSTANCE_ID durch den Instanznamen.
- PROJECT_NUMBER durch die Projektnummer der Instanz. Google CloudInformationen zum Identifizieren von Projekten finden Sie unter Projekte identifizieren.
- LOCATION durch die Region der Instanz.
Authentifizieren Sie sich bei Bedarf mit Ihren Secure Source Manager-Anmeldedaten.
Klicken Sie rechts oben im Navigationsmenü auf das Symbol + Neues Repository erstellen.
Geben Sie die Repository-Details ein:
Repository-ID: Geben Sie einen Namen für das Repository ein.
Beschreibung: Optional. Beschreibung des Repositorys.
Repository initialisieren: Optional. Wählen Sie diese Option aus, wenn Sie das Repository initialisieren und die Dateien „.gitignore“, „license“ und „README“ hinzufügen möchten.
.gitignore: Optional. Wählen Sie im Drop-down-Menü aus, welche Dateien nicht erfasst werden sollen.
license: Optional. Wählen Sie im Drop-down-Menü eine gängige Lizenz aus.
Standardzweig: Name des Standardzweigs.
Klicken Sie auf Senden.
Das Repository wird in Ihrer Secure Source Manager-Instanz erstellt.
Die Rolle „Repo-Administrator“ (roles/securesourcemanager.repoAdmin
) wird Ihnen zugewiesen, wenn Sie ein neues Repository erstellen. Es kann bis zu zwei Minuten dauern, bis die neue IAM-Berechtigung wirksam wird. Wenn Sie also nach dem Erstellen des Repositorys einen Berechtigungsfehler erhalten, warten Sie einige Minuten und versuchen Sie es dann noch einmal.
Von Ihnen erstellte Repositories werden in der Secure Source Manager-Weboberfläche auf der Seite Meine Repositories aufgeführt.
Anmeldedaten einrichten
Fügen Sie Ihrer globalen Git-Konfiguration den Authentifizierungs-Helper für Secure Source Manager hinzu, indem Sie den folgenden Befehl ausführen:
Linux
git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.sh
In früheren Versionen von Git werden möglicherweise keine Platzhalter unterstützt. Führen Sie den folgenden Befehl aus, um den Authentifizierungs-Helper ohne Platzhalter hinzuzufügen:
git config --global credential.'https://INSTANCE_ID-PROJECT_NUMBER-git.LOCATION.sourcemanager.dev'.helper gcloud.sh
Windows
git config --global credential.https://*.*.sourcemanager.dev.helper gcloud.cmd
In früheren Versionen von Git werden möglicherweise keine Platzhalter unterstützt. Führen Sie den folgenden Befehl aus, um den Authentifizierungs-Helper ohne Platzhalter hinzuzufügen:
git config --global credential.https://INSTANCE_ID-PROJECT_NUMBER-git.LOCATION.sourcemanager.dev.helper gcloud.cmd
Ersetzen Sie Folgendes:
INSTANCE_ID
durch den Namen Ihrer Secure Source Manager-Instanz.PROJECT_NUMBER
durch Ihre Projektnummer, Hilfe zum Ermitteln der Projektnummer finden Sie unter Projekte identifizieren.LOCATION
durch die Region der Instanz. Weitere Informationen zu Regionen finden Sie unter Standorte.
Der Authentifizierungs-Helper verwendet die gcloud CLI, um IhreGoogle Cloud -Anmeldedaten abzurufen, wenn Sie Git-Befehle mit Secure Source Manager verwenden.
Führen Sie den folgenden gcloud CLI-Befehl aus, um sich nach der Ersteinrichtung der Anmeldedaten noch einmal zu authentifizieren:
gcloud auth login
Repository klonen
Rufen Sie in der Secure Source Manager-Weboberfläche die Seite Ihres Repositorys auf.
Kopieren Sie die HTTPS-URL oben auf der Repository-Seite.
Klonen Sie Ihr Repository mit dem folgenden Befehl:
git clone REPOSITORY_URL
Dabei ist
REPOSITORY_URL
die HTTPS-URL, die oben auf der Repository-Seite angezeigt wird, die Sie klonen möchten.Ignorieren Sie die Warnung hinsichtlich des Klonens eines leeren Repository.
Per Push an ein Repository übertragen
Wechseln Sie in einem Terminalfenster in das geklonte Repository.
cd REPOSITORY_NAME
Dabei ist
REPOSITORY_NAME
der Name Ihres Repositorys.Erstellen Sie eine leere README-Datei:
touch README.md
Fügen Sie die README-Datei zu Git hinzu und erstellen Sie eine Commit-Nachricht:
git add README.md git commit -m "initial commit"
Übertragen Sie die Änderungen auf das Remote-Repository:
git push -u origin main
Git überträgt die Datei per Push vom Hauptzweig in das Remote-Repository „origin“. Die Ausgabe sieht etwa so aus:
Enumerating objects: 3, done. Counting objects: 100% (3/3), done. Writing objects: 100% (3/3), 211 bytes | 211.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 remote: . Processing 1 references remote: Processed 1 references in total To https://instance-id-123456789012-git.us-central1.sourcemanager.dev/my-project/my-repo.git * [new branch] main -> main branch 'main' set up to track 'origin/main'.
Dateien in Secure Source Manager ansehen
Klicken Sie in der Secure Source Manager-Weboberfläche auf den Namen Ihres Repositorys.
Ihre Repository-Seite wird geöffnet und Ihre README.md
-Datei wird auf dem Tab <> Code aufgeführt.
Bereinigen
Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:
Prüfen Sie vor dem Entfernen des Repositorys, ob alle Dateien, die Sie beibehalten möchten, an einem anderen Speicherort verfügbar sind.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: die Projekt-ID des Google Cloud-Projekts, in dem Secure Source Manager ausgeführt wird.
- LOCATION: die Region, in der sich Ihre Instanz befindet. Informationen zu unterstützten Standorten finden Sie unter Standorte.
- REPOSITORY_ID: die Repository-ID.
HTTP-Methode und URL:
DELETE https://securesourcemanager.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
"name":"operations/cc3ea26c-9b57-11ed-be0a-2e3b5910efef","metadata":{"@type":"type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata","createTime":"2023-01-23T19:54:49.904779921Z","endTime":"2023-01-23T19:54:50.947030402Z","target":"projects/my-project/locations/us-central1/repositories/my-repo","verb":"delete","apiVersion":"v1"},"done":true,"response":{"@type":"type.googleapis.com/google.protobuf.Empty"} ```
Die Antwort sieht in etwa so aus:
{"name":"operations/cc3ea26c-9b57-11ed-be0a-2e3b5910efef","metadata":{"@type":"type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata","createTime":"2023-01-23T19:54:49.904779921Z","endTime":"2023-01-23T19:54:50.947030402Z","target":"projects/my-project/locations/us-central1/repositories/my-repo","verb":"delete","apiVersion":"v1"},"done":true,"response":{"@type":"type.googleapis.com/google.protobuf.Empty"}