Quand vous publiez un package délimité à un compte personnel ou à une organisation, le package n’est pas lié à un dépôt par défaut. Si vous connectez un package à un dépôt, la page d’accueil du package affiche des informations et des liens venant du dépôt comme le fichier README. Vous pouvez également définir que le package doit hériter des autorisations d’accès à partir du référentiel lié. Pour plus d’informations, consultez « Configuration du contrôle d’accès et de la visibilité d’un package ».
Connexion d’un dépôt à un package délimité à l’utilisateur sur GitHub
-
Sur GitHub, accédez à la page principale de votre compte personnel.
-
Dans l’angle supérieur droit de GitHub.com, cliquez sur votre photo de profil, puis sur Votre profil.
-
Dans la page de votre profil, dans l’en-tête, cliquez sur l’onglet Packages.
-
Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.
-
Sous les versions de votre package, cliquez sur Connecter un dépôt.
-
Sélectionnez un dépôt à lier au package et cliquez sur Connecter le dépôt.
Connexion d’un dépôt à un package délimité à l’organisation sur GitHub
- Sur GitHub, accédez à la page principale de votre organisation.
- Sous le nom de votre organisation, cliquez sur l’onglet Packages.
- Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.
- Sous les versions de votre package, cliquez sur Connecter un dépôt.
- Sélectionnez un dépôt à lier au package et cliquez sur Connecter le dépôt.
Connexion d’un dépôt à une image conteneur à l’aide de la ligne de commande
Remarque : Si vous publiez un package lié à un dépôt, le package hérite automatiquement des autorisations d’accès du dépôt lié, tandis que les workflows GitHub Actions du dépôt lié accèdent automatiquement au package, sauf si votre organisation a désactivé l’héritage automatique des autorisations d’accès. Pour plus d’informations, consultez « Configuration du contrôle d’accès et de la visibilité d’un package ».
-
Dans votre Dockerfile, ajoutez cette ligne, en remplaçant
OWNER
etREPO
par vos informations :LABEL org.opencontainers.image.source=https://github.com/OWNER/REPO
Par exemple, si vous êtes l’utilisateur
octocat
et propriétaire demy-repo
ajoutez cette ligne dans votre Dockerfile :LABEL org.opencontainers.image.source=https://github.com/octocat/my-repo
Pour plus d’informations, consultez « LABEL » dans la documentation Docker officielle et « Clés d’annotation prédéfinies » dans le dépôt
opencontainers/image-spec
. -
Générez votre image conteneur. Cet exemple génère une image à partir du fichier Dockerfile dans le répertoire actif et attribue à l’image le nom
hello_docker
.$ docker build -t hello_docker .
-
Si vous le souhaitez, passez en revue les détails de l’image Docker que vous venez de créer.
$ 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
-
Attribuez un nom et une destination d’hébergement à votre image Docker.
$ docker tag IMAGE_NAME ghcr.io/NAMESPACE/NEW_IMAGE_NAME:TAG
Remplacez
NAMESPACE
par le nom du compte personnel ou de l’organisation auquel vous souhaitez que le package soit délimité.Par exemple :
$ docker tag 38f737a91f39 ghcr.io/octocat/hello_docker:latest
-
Si ce n’est déjà fait, authentifiez-vous auprès du Container registry. Pour plus d’informations, consultez « Utilisation du registre de conteneurs ».
$ echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin > Login Succeeded
-
Poussez votre image conteneur vers le Container registry.
$ docker push ghcr.io/NAMESPACE/IMAGE-NAME:TAG
Par exemple :
$ docker push ghcr.io/octocat/hello_docker:latest