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. Le package hérite du paramètre de visibilité du dépôt lié, et vous pouvez également choisir de faire en sorte que le package hérite de ses autorisations d’accès. 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