Skip to main content

Connexion d’un dépôt à un package

Vous pouvez connecter un dépôt à un package sur GitHub.com.

Qui peut utiliser cette fonctionnalité ?

GitHub Packages est disponible avec GitHub Free, GitHub Pro, GitHub Free pour les organisations, GitHub Team, GitHub Enterprise Cloud et GitHub Enterprise Server 3.0 ou ultérieur.
GitHub Packages n’est pas disponible pour les référentiels privés appartenant à des comptes qui utilisent des plans par référentiel hérités. Par ailleurs, les comptes utilisant des plans par dépôt hérités ne peuvent pas accéder aux registres qui prennent en charge les autorisations granulaires, car ces comptes sont facturés par dépôt. Pour obtenir la liste des registres prenant en charge les autorisations granulaires, consultez la section « À propos des autorisations pour les packages GitHub ». Pour plus d’informations, consultez « Plans de GitHub ».

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

  1. Sur GitHub, accédez à la page principale de votre compte personnel.

  2. Dans l’angle supérieur droit de GitHub.com, cliquez sur votre photo de profil, puis sur Votre profil.

    Capture d’écran du menu déroulant sous l’image de profil de @octocat. « Votre profil » est délimité en orange foncé.

  3. Dans la page de votre profil, dans l’en-tête, cliquez sur l’onglet Packages.

  4. Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.

  5. Sous les versions de votre package, cliquez sur Connecter un dépôt.

  6. 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

  1. Sur GitHub, accédez à la page principale de votre organisation.

  2. Sous le nom de votre organisation, cliquez sur l’onglet Packages.

    Capture d’écran de la page de profil de @octo-org. L’onglet « Packages » est mis en évidence avec un encadré orange.

  3. Recherchez le nom du package que vous souhaitez gérer et cliquez dessus.

  4. Sous les versions de votre package, cliquez sur Connecter un dépôt.

  5. 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 ».

  1. Dans votre Dockerfile, ajoutez cette ligne, en remplaçant OWNER et REPO par vos informations :

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

    Par exemple, si vous êtes l’utilisateur octocat et propriétaire de my-repo ajoutez cette ligne à 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.

  2. 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 .
    
  3. 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
    
  4. 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
    
  5. 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
    
  6. 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