IBM Cloud Docs
Auf private Code-Repositorys zugreifen

Auf private Code-Repositorys zugreifen

Ein Code-Repository, wie zum Beispiel GitHub oder GitLab, in dem der Quellcode gespeichert wird. Mit Code Engine können Sie Zugriff auf ein privates Code-Repository hinzufügen und anschließend vom Build auf dieses Repository verweisen.

Nachdem Sie den Zugriff auf Ihr privates Code-Repository erstellt haben, können Sie Code aus dem Repository extrahieren, einen Build für den Code durchführen und eine App oder einen Job mit IBM Cloud® Code Engine bereitstellen.

Zugriff auf Code-Repository erstellen

Wenn Sie den Zugriff auf ein privates Code-Repository erstellen, speichern Sie die Zugangsdaten in Code Engine. Diese Berechtigungsnachweise werden als geheime SSH-Schlüsselbezeichnet.

Vorbereitende Schritte

SSH-Schlüssel für Code-Repository auswählen

Sowohl für GitHub als auch für GitLab können Sie zwischen zwei Arten von SSH-Schlüsseln entscheiden, um eine Verbindung zu Ihrem Quellenrepository herzustellen.

  1. Einen SSH-Schlüssel, der dem Quellencode-Repository zugeordnet ist; er verfügt nur über Zugriff auf die Repositorys, bei denen Sie den SSH-Schlüssel registrieren. Dieser Zugriff ist standardmäßig schreibgeschützt, was der Stufe entspricht, die von Code Engine zum Herunterladen des Quellcodes benötigt wird. Sie können bei Bedarf Schreibzugriff auswählen. Wählen Sie diese Option aus, um einen SSH-Schlüssel festzulegen, der für bestimmte Repositorys gilt, um den Zugriff nur auf die angegebenen Repositorys zu steuern.

  2. Einen SSH-Schlüssel, der einem Benutzer zugeordnet ist, zum Beispiel Ihrem eigenen Benutzerkonto oder eine funktionale ID, die in Ihrem Unternehmen verfügbar ist. Dieser SSH-Schlüssel verfügt über die Repository-Berechtigungen aus dem Benutzerkonto. Code Engine erfordert Lesezugriff zum Herunterladen des Quellcodes.

    Da die Einstellung eines SSH-Schlüssels, der einem Benutzerkonto zugeordnet ist, den Zugriff auf das vollständige Konto ermöglicht, ist es wichtig, bei der Auswahl dieser Option die Auswirkungen auf die Sicherheit zu beachten.

Erstellen Sie Ihre SSH-Schlüsseldatei nicht mit einer sicheren Kennphrase, da durch diese Aktion der Befehl build fehlschlagen kann.

Hinzufügen von privatem Repository-Zugriff über die Konsole

Erstellen Sie zunächst ein Projekt, bevor Sie beginnen.

  1. Wenn Ihr Projekt den Status Aktiv hat, klicken Sie auf der Seite Code Engine Projekte auf den Namen Ihres Projekts.
  2. Klicken Sie auf der Seite 'Komponenten' auf Geheime Schlüssel und Konfigurationszuordnungen.
  3. Klicken Sie auf der Seite 'Geheime Schlüssel und Konfigurationszuordnungen' auf Erstellen, um Ihren geheimen Schlüssel zu erstellen.
  4. Führen Sie auf der Seite 'Create secret or configmap' die folgenden Schritte aus:
    1. Wählen Sie Geheimer SSH-Schlüssel aus und klicken Sie dann auf Next.
    2. Geben Sie einen Namen an, z. B. mysecret-ssh.
    3. Fügen Sie den privaten SSH-Schlüssel für diesen geheimen Schlüssel hinzu.
    4. Klicken Sie auf Erstellen, um den geheimen Schlüssel zu erstellen.

Nachdem Sie Ihr Geheimnis in der Konsole erstellt haben, können Sie auf der Seite Secrets and configmaps eine Liste der definierten Geheimnisse und Configmaps anzeigen. Sie können Filter anwenden, um die Liste an Ihre Anforderungen anzupassen.

können Sie den Zugriff erstellen, wenn Sie ein Image erstellen.

Zugriff auf privates Repository über die CLI hinzufügen

Seit der CLI-Version 1.42.0 sind die Definition und die Arbeit mit Secrets in der CLI unter der secret befehlsgruppe zusammengefasst. Siehe ibmcloud ce secret-Befehle. Verwenden Sie die Option --format, um die Kategorie des Geheimnisses anzugeben, z. B. basic_auth, generic, hmac, ssh, tls oder registry. Sie können zwar weiterhin die repo befehlsgruppe verwenden können, nutzen Sie die Vorteile der vereinheitlichten secret befehlsgruppe. Um ein Geheimnis für den Zugriff auf einen Dienst mit einem SSH-Schlüssel zu erstellen, z. B. für die Authentifizierung bei einem Git-Repository wie GitHub oder GitLab,, verwenden Sie den ibmcloud ce secret create --format ssh befehl. Ein SSH-Geheimnis wird auch als Zugriffsgeheimnis für das Repository Git verwendet. Um mehr über die Arbeit mit Geheimnissen in Code Engine zu erfahren, siehe Arbeiten mit Geheimnissen.

Ein SSH-Geheimnis enthält die Anmeldedaten für den Zugriff auf das private Repository, das den Quellcode zur Erstellung Ihres Container-Images enthält. Ein SSH-Geheimnis wird auch als Zugriffsgeheimnis für das Repository Git verwendet.

Verwenden Sie zum Erstellen eines geheimen SSH-Schlüssels über die Befehlszeilenschnittstelle den Befehl secret create --format ssh. Dieser Befehl erfordert einen Namen und einen Schlüsselpfad und lässt auch weitere optionale Argumente zu, wie z. B. den Pfad zur Datei für bekannte Hosts. Eine vollständige Liste der Optionen enthält die Beschreibung des Befehls ibmcloud ce secret create --format ssh.

Der folgende Befehl erstellt beispielsweise ein SSH-Geheimnis mit dem Namen myrepossh für ein Repository unter github.com, das Ihren persönlichen privaten SSH-Schlüssel verwendet, der sich am Standardspeicherort auf Ihrem System befindet.

Mac OS oder Linux®

ibmcloud ce secret create --format ssh --name myrepossh --key-path $HOME/.ssh/id_rsa --known-hosts-path $HOME/.ssh/known_hosts

Windows

ibmcloud ce secret create --format ssh --name myrepossh --key-path "%HOMEPATH%\.ssh\id_rsa" --known-hosts-path "%HOMEPATH%\.ssh\known_hosts"

Die folgende Tabelle vermittelt Ihnen einen Überblick über die Optionen, die in diesem Beispiel beim Befehl repo create verwendet werden. Weitere Informationen zum Befehl und den zugehörigen Optionen finden Sie im Abschnitt über den Befehl ibmcloud ce repo create.

Befehlsbeschreibung
Option Beschreibung
--name

Der Name des geheimen SSH-Schlüssels. Verwenden Sie einen Namen, der innerhalb des Projekts eindeutig ist. Dieser Wert ist erforderlich.

  • Der Name muss mit einem alphanumerischen Kleinbuchstaben beginnen und enden.
  • Der Name darf maximal 253 Zeichen lang sein und Kleinbuchstaben, Zahlen, Punkte (.) und Bindestriche (-) enthalten.
--key-path Der lokale Pfad des nicht verschlüsselten privaten SSH-Schlüssels. Wenn Sie einen persönlichen privaten SSH-Schlüssel verwenden, befindet sich diese Datei normalerweise in $HOME/.ssh/id_rsa (Mac OS oder Linux) oder in %HOMEPATH%.ssh\id_rsa (Windows). Dieser Wert ist erforderlich.
--known-hosts-path Der Pfad zur bekannten Hostdatei. Dieser Wert ist eine Sicherheitsfunktion und soll sicherzustellen, dass der private Schlüssel nur für die Authentifizierung bei Hosts verwendet wird, auf die Sie zuvor zugegriffen haben, insbesondere die GitHub- oder GitLab-Hosts. Diese Datei befindet sich normalerweise in $HOME/.ssh/known_hosts (Mac OS oder Linux) oder in %HOMEPATH%.ssh\known_hosts (Windows).

Verweis auf ein privates Git-Repository in einem Build

Sie können auf einen bestehenden Zugang verweisen oder einen Zugang erstellen, wenn Sie ein Abbild über die Konsole erstellen.

Verweis auf ein privates Git-Repository in einem Build von der Konsole aus

Um Ihr privates Git-Repository in einem Build zu referenzieren,

  1. Rufen Sie das Code Engine-Dashboard auf.
  2. Wählen Sie ein Projekt aus (oder erstellen Sie ein Projekt).
  3. Klicken Sie auf der Projektseite auf Image-Builds.
  4. Klicken Sie auf der Registerkarte Image-Build auf Create.
  5. Um ein privates Repository anzugeben und Zugriff hinzuzufügen, geben Sie die URL des Repositorys in das Feld Code-Repository-URL ein und wählen Sie dann entweder Ihren bestehenden Code-Repository-Zugriff oder die Erstellung des Zugriffs.
  6. Beenden Sie die Angabe der Informationen für Ihren Build und klicken Sie auf Fertig.

Weitere Informationen zum Erstellen von Images finden Sie unter Erstellen eines Container-Images.

Das Code-Repositorium URL muss ein SSH URL wie z.B. git@github.com:IBM/CodeEngine.git sein und nicht ein HTTPS URL wie z.B. https://github.ibm.com/codeengine/ui.

Mit der Befehlszeilenschnittstelle auf einen geheimen SSH-Schlüssel in einem Build verweisen

Um ein SSH-Geheimnis in einem Build zu verwenden, verwenden Sie die Option --git-repo-secret, wenn Sie die build create oder den build update befehl ausführen. Ein SSH-Geheimnis wird auch als Zugriffsgeheimnis für das Repository Git verwendet.

Wenn Sie über einen vorhandenen Build verfügen, können Sie ihn mit dem Befehl build update aktualisieren.

ibmcloud ce build update --name mybuild --git-repo-secret myrepossh

Wenn Sie einen neuen Build erstellen möchten, lesen Sie die Informationen unter Buildkonfiguration in der Befehlszeilenschnittstelle erstellen.

Nächste Schritte für den Zugang zum Repository Git

Nachdem Sie Ihren geheimen SSH-Schlüssel für den Zugriff auf ein Git-Repository erstellt haben, können Sie aus Quellcode in Ihrem privaten Repository Images erstellen. Geben Sie Ihren geheimen SSH-Schlüssel an, wenn Sie den Befehl build create mit der Option --git-repo-secret ausführen.