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
-
Navigiere auf GitHub zur Hauptseite deines persönlichen Kontos.
-
Klicke in der oberen rechten Ecke von GitHub auf dein Profilfoto und dann auf Dein Profil.
-
Wähle auf der Profilseite in der Kopfzeile die Registerkarte Pakete aus.
-
Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.
-
Klicke unter deinen Paketversionen auf Repository verbinden.
-
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
-
Navigiere auf GitHub zur Hauptseite deiner Organisation.
-
Wähle unter dem Namen deiner Organisation die Registerkarte Pakete aus.
-
Suche nach dem Namen des Pakets, das du verwalten möchtest, und wähle es aus.
-
Klicke unter deinen Paketversionen auf Repository verbinden.
-
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
Note
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.
-
Füge in deinem Dockerfile diese Zeile hinzu, indem du
OWNER
undREPO
durch deine Details ersetzt:LABEL org.opencontainers.image.source=https://github.com/OWNER/REPO
Wenn Sie beispielsweise der/die Benutzer*in
octocat
sind undmy-repo
fügen Sie Ihrem 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
. -
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 .
-
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
-
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
-
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
-
Pushe dein Containerimage an Container registry.
docker push ghcr.io/NAMESPACE/IMAGE-NAME:TAG
Zum Beispiel:
docker push ghcr.io/octocat/hello_docker:latest
Aufheben der Verknüpfung eines Repositorys aus einem Paket auf GitHub
Note
Durch das Aufheben der Verknüpfung eines Pakets aus einem Repository werden die Repositoryinformationen von der Zielseite des Pakets entfernt und können sich auf das Zugriffsmuster auswirken, je nachdem, ob das Paket seine Zugriffsberechtigungen vom Repository erbt. Weitere Informationen findest du unter Konfigurieren der Zugriffssteuerung und Sichtbarkeit von Paketen. Dieses Verhalten gilt nicht für Apache Maven-Pakete, wie in "Informationen zu Berechtigungen für GitHub-Pakete" beschrieben.
-
Navigieren Sie auf GitHub zur Einstellungsseite des Pakets, das Sie aufheben möchten.
-
Auf der Seite "Paketeinstellungen" wird ein Abschnitt "Repositoryquelle" angezeigt. Wenn dieser Abschnitt nicht vorhanden ist, ist das Paket derzeit nicht mit einem Repository verknüpft.
-
Klicken Sie in der oberen rechten Ecke des Abschnitts "Repositoryquelle" auf das Papierkorbsymbol.
Es ist möglich, dass der Repositoryquellabschnitt vorhanden ist, aber es ist kein Papierkorbsymbol vorhanden. Dies liegt daran, dass eine Repositoryquelle als Teil des verpackten Codes definiert wurde, d. h. eine
package.json
Datei,.gemspec
Datei, jedoch nicht tatsächlich mit einem Repository auf GitHub verknüpft ist. Um das Paket mit einem Repository zu verknüpfen, müssen Sie die Schritte im obigen Abschnitt ausführen.
- Vergewissern Sie sich, dass Sie die Verknüpfung des Repositorys aus dem Paket mit dem Dialog aufheben möchten.
Migrieren eines Pakets zu einem anderen Repository
Wenn Sie ein Paket, das derzeit mit einem Repository verknüpft ist, mit einem anderen Repository verknüpfen möchten, können Sie dazu die Verknüpfung des Pakets mit dem aktuellen Repository aufheben und es mit dem neuen Repository verknüpfen.
- Führen Sie die Schritte zum Aufheben der Verknüpfung unter „Aufheben der Verknüpfung eines Repositorys mit einem Paket in GitHub“ aus.
- Führen Sie die Schritte zum Verknüpfen des Pakets mit dem neuen Repository unter „Verbinden eines Repositorys mit einem organisationsbezogenen Paket in GitHub“ oder unter „Verbinden eines Repositorys mit einem benutzerbezogenen Paket in GitHub“ aus.