Skip to main content

Verbinden eines Repositorys mit einem Paket

Du kannst ein Repository mit einem Paket auf GitHub.com verknüpfen.

Wer kann dieses Feature verwenden?

GitHub Packages ist verfügbar mit GitHub Free, GitHub Pro, GitHub Free für Organisationen, GitHub Team, GitHub Enterprise Cloud und GitHub Enterprise Server 3.0 oder höher.
GitHub Packages ist nicht verfügbar für private Repositorys im Besitz von Konten mit älteren Pro-Repository-Plänen. Außerdem können Konten, die Legacypläne pro Repository verwenden, nicht auf Registrierungen zugreifen, die differenzierte Berechtigungen unterstützen, da diese Konten nach Repository abgerechnet werden. Eine Liste dieser Registrierungen, die differenzierte Berechtigungen unterstützen, findest du unter Informationen zu Berechtigungen für GitHub-Pakete. Weitere Informationen findest du unter GitHub-Pläne.

Wenn du ein Paket veröffentlichst, das für ein persönliches Konto oder eine Organisation gilt, ist das Paket standardmäßig nicht mit einem Repository verknüpft. Durch das Verbinden eines Pakets mit einem Repository werden auf der Angebotsseite des Pakets Informationen und Links aus dem Repository angezeigt, z. B. die Infodatei. Du kannst auch festlegen, dass das Paket seine Zugriffsberechtigungen vom verknüpften Repository erbt. Weitere Informationen findest du unter Konfigurieren der Zugriffssteuerung und Sichtbarkeit von Paketen.

Verknüpfen eines Repositorys mit einem benutzerspezifischen Paket auf GitHub

  1. Navigiere auf GitHub zur Hauptseite deines persönlichen Kontos.

  2. Klicke in der oberen rechten Ecke von GitHub.com auf dein Profilfoto, und klicke dann auf Dein Profil.

    Screenshot des Dropdownmenüs unter dem Profilbild von @octocat. „Dein Profil“ ist in dunklem Orange eingerahmt.

  3. Wähle auf der Profilseite in der Kopfzeile die Registerkarte Pakete aus.

  4. Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.

  5. Klicke unter deinen Paketversionen auf Repository verbinden.

  6. Wähle ein Repository aus, das mit dem Paket verknüpft werden soll, und klicke dann auf Repository verbinden.

Verknüpfen eines Repositorys mit einem organisationsspezifischen Paket auf GitHub

  1. Navigiere auf GitHub zur Hauptseite deiner Organisation.

  2. Wähle unter dem Namen deiner Organisation die Registerkarte Pakete aus.

    Screenshot der Profilseite von @octo-org. Die Registerkarte „Pakete“ ist orange umrandet.

  3. Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.

  4. Klicke unter deinen Paketversionen auf Repository verbinden.

  5. Wähle ein Repository aus, das mit dem Paket verknüpft werden soll, und klicke dann auf Repository verbinden.

Verbinden eines Repositorys mit einem Containerimage mithilfe der Befehlszeile

Hinweis: Wenn du ein Paket veröffentlichst, das mit einem Repository verknüpft ist, erbt das Paket automatisch die Zugriffsberechtigungen des verknüpften Repositorys, und GitHub Actions-Workflows im verknüpften Repository erhalten automatisch Zugriff auf das Paket, es sei denn, deine Organisation hat die automatische Vererbung von Zugriffsberechtigungen deaktiviert. Weitere Informationen findest du unter Konfigurieren der Zugriffssteuerung und Sichtbarkeit von Paketen.

  1. Füge in deinem Dockerfile diese Zeile hinzu, indem du OWNER und REPO durch deine Details ersetzt:

    LABEL org.opencontainers.image.source=https://github.com/OWNER/REPO
    

    Wenn du beispielsweise der/die Benutzer*in octocat bist und my-repo fügst du deinem Dockerfile folgende Zeile hinzu:

    LABEL org.opencontainers.image.source=https://github.com/octocat/my-repo
    

    Weitere Informationen findest du unter LABEL in der offiziellen Docker-Dokumentation und unter Vordefinierte Anmerkungsschlüssel im Repository opencontainers/image-spec.

  2. Erstelle das Containerimage. In diesem Beispiel wird ein Image aus dem Dockerfile im aktuellen Verzeichnis erstellt und der Imagename hello_docker zugewiesen.

    docker build -t hello_docker .
    
  3. Optional kannst du die Details des soeben erstellten Docker-Images überprüfen.

    $ docker images
    > REPOSITORY          TAG         IMAGE ID       CREATED         SIZE
    > hello_docker        latest      142e665b1faa   5 seconds ago   125MB
    > redis               latest      afb5e116cac0   3 months ago    111MB
    > alpine              latest      a6215f271958   5 months ago    5.29MB
    
  4. Weise deinem Docker-Image einen Namen und ein Hostingziel zu.

    docker tag IMAGE_NAME ghcr.io/NAMESPACE/NEW_IMAGE_NAME:TAG
    

    Ersetze NAMESPACE durch den Namen des persönlichen Kontos oder der Organisation, auf das bzw. die das Paket festgelegt werden soll.

    Beispiel:

    docker tag 38f737a91f39 ghcr.io/octocat/hello_docker:latest
    
  5. Wenn du noch nicht angemeldet bist, authentifiziere dich bei Container registry. Weitere Informationen findest du unter Arbeiten mit der Containerregistrierung.

    $ echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin
    > Login Succeeded
    
  6. Pushe dein Containerimage an Container registry.

    docker push ghcr.io/NAMESPACE/IMAGE-NAME:TAG
    

    Beispiel:

    docker push ghcr.io/octocat/hello_docker:latest