{"id":5313,"date":"2025-07-23T12:57:31","date_gmt":"2025-07-23T12:57:31","guid":{"rendered":"https:\/\/techhub.saworks.io\/docs\/tutoriel-github\/automatisez-votre-workflow-avec-github-actions-partie-2-sur-2\/publier-sur-github-packages-et-github-container-registry\/"},"modified":"2025-07-31T13:42:24","modified_gmt":"2025-07-31T13:42:24","slug":"publier-sur-github-packages-et-github-container-registry","status":"publish","type":"docs","link":"https:\/\/techhub.saworks.io\/fr\/docs\/tutoriel-github\/automatisez-votre-workflow-avec-github-actions-partie-2-sur-2\/publier-sur-github-packages-et-github-container-registry\/","title":{"rendered":"Publier sur GitHub Packages et GitHub Container Registry"},"content":{"rendered":"\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<p>Dans cette section, vous allez apprendre les bases de l\u2019utilisation d\u2019un&nbsp;<strong>workflow<\/strong>&nbsp;pour publier sur&nbsp;<strong>GitHub Packages<\/strong>, ainsi que les \u00e9tapes n\u00e9cessaires pour&nbsp;<strong>construire<\/strong>,&nbsp;<strong>s\u2019authentifier<\/strong>,&nbsp;<strong>taguer<\/strong>&nbsp;et&nbsp;<strong>pousser<\/strong>&nbsp;une image Docker vers le&nbsp;<strong>GitHub Container Registry<\/strong>.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Utiliser un workflow pour publier sur GitHub Packages<\/strong><\/h3>\n\n\n\n<p>GitHub Packages vous permet de publier et de consommer des paquets de mani\u00e8re s\u00e9curis\u00e9e, de stocker vos paquets \u00e0 c\u00f4t\u00e9 de votre code, et de les partager en priv\u00e9 avec votre \u00e9quipe ou publiquement avec la communaut\u00e9 open source. Vous pouvez \u00e9galement utiliser&nbsp;<strong>GitHub Actions<\/strong>&nbsp;pour automatiser la gestion de vos paquets.<\/p>\n\n\n\n<p>Voici un exemple de&nbsp;<strong>workflow de base<\/strong>&nbsp;qui s\u2019ex\u00e9cute \u00e0 chaque fois qu\u2019une nouvelle version est cr\u00e9\u00e9e dans un d\u00e9p\u00f4t. Si les tests r\u00e9ussissent, le paquet est alors publi\u00e9 sur&nbsp;<strong>GitHub Packages<\/strong>.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#EEFFFF;--cbp-line-number-width:calc(2 * 0.6 * .75rem);line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>name: Node.js Package\n\non:\n  release:\n    types: &#91;created&#93;\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\/checkout@v4\n      - uses: actions\/setup-node@v4\n        with:\n          node-version: 12\n      - run: npm ci\n      - run: npm test\n\n  publish-gpr:\n    needs: build\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\/checkout@v4\n      - uses: actions\/setup-node@v4\n        with:\n          node-version: 12\n          registry-url: https:\/\/npm.pkg.github.com\/\n      - run: npm ci\n      - run: npm publish\n        env:\n          NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-darker\" style=\"background-color: #212121\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #FFCB6B\">name:<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">Node.js<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">Package<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">on:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">  <\/span><span style=\"color: #FFCB6B\">release:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    <\/span><span style=\"color: #FFCB6B\">types:<\/span><span style=\"color: #EEFFFF\"> &#91;created&#93;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #82AAFF\">jobs<\/span><span style=\"color: #EEFFFF\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">  <\/span><span style=\"color: #FFCB6B\">build:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    <\/span><span style=\"color: #FFCB6B\">runs-on:<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">ubuntu-latest<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    <\/span><span style=\"color: #FFCB6B\">steps:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">      <\/span><span style=\"color: #FFCB6B\">-<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">uses:<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">actions\/checkout@v4<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">      <\/span><span style=\"color: #FFCB6B\">-<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">uses:<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">actions\/setup-node@v4<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">        <\/span><span style=\"color: #FFCB6B\">with:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">          <\/span><span style=\"color: #FFCB6B\">node-version:<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #F78C6C\">12<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">      <\/span><span style=\"color: #FFCB6B\">-<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">run:<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">npm<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">ci<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">      <\/span><span style=\"color: #FFCB6B\">-<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">run:<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">npm<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">test<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">  <\/span><span style=\"color: #FFCB6B\">publish-gpr:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    <\/span><span style=\"color: #FFCB6B\">needs:<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">build<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    <\/span><span style=\"color: #FFCB6B\">runs-on:<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">ubuntu-latest<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">    <\/span><span style=\"color: #FFCB6B\">steps:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">      <\/span><span style=\"color: #FFCB6B\">-<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">uses:<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">actions\/checkout@v4<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">      <\/span><span style=\"color: #FFCB6B\">-<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">uses:<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">actions\/setup-node@v4<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">        <\/span><span style=\"color: #FFCB6B\">with:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">          <\/span><span style=\"color: #FFCB6B\">node-version:<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #F78C6C\">12<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">          <\/span><span style=\"color: #FFCB6B\">registry-url:<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">https:\/\/npm.pkg.github.com\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">      <\/span><span style=\"color: #FFCB6B\">-<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">run:<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">npm<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">ci<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">      <\/span><span style=\"color: #FFCB6B\">-<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">run:<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">npm<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">publish<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">        <\/span><span style=\"color: #FFCB6B\">env:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #EEFFFF\">          <\/span><span style=\"color: #FFCB6B\">NODE_AUTH_TOKEN:<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #89DDFF\">${<\/span><span style=\"color: #EEFFFF\">{secrets.GITHUB_TOKEN<\/span><span style=\"color: #89DDFF\">}<\/span><span style=\"color: #C3E88D\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Publier sur GitHub Packages et GitHub Container Registry<\/strong><\/h3>\n\n\n\n<p>Tout d\u2019abord, le fichier de workflow doit se trouver dans le r\u00e9pertoire&nbsp;<strong><code>.github\/workflows<\/code><\/strong>. Il est courant de nommer un workflow qui publie un nouveau paquet \u00e0 chaque cr\u00e9ation de version quelque chose comme&nbsp;<strong><code>release-package.yml<\/code><\/strong>, afin que les collaborateurs du projet comprennent facilement son objectif sans avoir \u00e0 ouvrir le fichier.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Le workflow pr\u00e9c\u00e9dent effectue plusieurs actions apr\u00e8s la cr\u00e9ation d\u2019une nouvelle version :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Un&nbsp;<strong>job nomm\u00e9&nbsp;<code>build<\/code><\/strong>&nbsp;ex\u00e9cute&nbsp;<code>npm ci<\/code>&nbsp;(o\u00f9 \u00ab\u00a0ci\u00a0\u00bb signifie&nbsp;<em>Continuous Integration<\/em>) pour installer les d\u00e9pendances directement \u00e0 partir du fichier&nbsp;<code>package-lock.json<\/code>, ainsi que les tests du projet.<\/li>\n\n\n\n<li>Une fois le job&nbsp;<code>build<\/code>&nbsp;r\u00e9ussi, le&nbsp;<strong>job nomm\u00e9&nbsp;<code>publish-gpr<\/code><\/strong>&nbsp;publie le paquet.<\/li>\n\n\n\n<li>Le workflow publie le paquet vers l\u2019URL du registre :&nbsp;<code>https:\/\/npm.pkg.github.com\/<\/code>&nbsp;en utilisant un&nbsp;<strong>jeton d\u2019acc\u00e8s<\/strong>&nbsp;pour l\u2019authentification.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Utiliser GitHub Container Registry pour h\u00e9berger et g\u00e9rer des images de conteneurs Docker<\/strong><\/h3>\n\n\n\n<p>GitHub Packages prend en charge l\u2019utilisation de conteneurs, de Kubernetes et d\u2019autres technologies cloud-native pour g\u00e9rer l\u2019ensemble du cycle de vie des applications, y compris les op\u00e9rations en production, le d\u00e9veloppement, la publication et le d\u00e9ploiement. GitHub Packages propose \u00e9galement un&nbsp;<strong>registre de conteneurs<\/strong>&nbsp;con\u00e7u pour r\u00e9pondre aux besoins sp\u00e9cifiques des images de conteneurs.<\/p>\n\n\n\n<p>Vous pouvez utiliser&nbsp;<strong>GitHub Container Registry<\/strong>&nbsp;pour h\u00e9berger et g\u00e9rer facilement des images Docker dans votre organisation GitHub ou votre compte utilisateur personnel. Ce registre vous permet de configurer&nbsp;<strong>des autorisations pr\u00e9cises<\/strong>&nbsp;pour g\u00e9rer et acc\u00e9der aux paquets.<\/p>\n\n\n\n<p>Avec le registre de conteneurs, vous pouvez :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Stocker des images de conteneurs dans votre&nbsp;<strong>organisation<\/strong>&nbsp;ou votre&nbsp;<strong>compte utilisateur<\/strong>, plut\u00f4t que dans un d\u00e9p\u00f4t.<\/li>\n\n\n\n<li>D\u00e9finir des&nbsp;<strong>autorisations fines<\/strong>&nbsp;pour les images de conteneurs.<\/li>\n\n\n\n<li>Acc\u00e9der anonymement aux images de conteneurs&nbsp;<strong>publiques<\/strong>.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Une fois que vous avez&nbsp;<strong>construit l\u2019image<\/strong>, que vous vous \u00eates&nbsp;<strong>authentifi\u00e9<\/strong>&nbsp;et connect\u00e9 au service&nbsp;<strong>GitHub Container Registry<\/strong>&nbsp;\u00e0 l\u2019adresse&nbsp;<code>ghcr.io<\/code>, vous pouvez&nbsp;<strong>taguer<\/strong>&nbsp;et&nbsp;<strong>pousser<\/strong>&nbsp;la derni\u00e8re version de l\u2019image vers le registre \u00e0 l\u2019aide des commandes suivantes :<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#EEFFFF;--cbp-line-number-width:calc(1 * 0.6 * .75rem);line-height:1rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#212121\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#EEFFFF;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>echo $GITHUB_TOKEN | docker login ghcr.io -u USERNAME --password-stdin\n\ndocker tag IMAGE_ID ghcr.io\/OWNER\/IMAGE_NAME:latest\n\ndocker push ghcr.io\/OWNER\/IMAGE_NAME:latest<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-darker\" style=\"background-color: #212121\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #82AAFF\">echo<\/span><span style=\"color: #EEFFFF\"> $GITHUB_TOKEN <\/span><span style=\"color: #89DDFF\">|<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #FFCB6B\">docker<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">login<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">ghcr.io<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">-u<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">USERNAME<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">--password-stdin<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">docker<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">tag<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">IMAGE_ID<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">ghcr.io\/OWNER\/IMAGE_NAME:latest<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #FFCB6B\">docker<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">push<\/span><span style=\"color: #EEFFFF\"> <\/span><span style=\"color: #C3E88D\">ghcr.io\/OWNER\/IMAGE_NAME:latest<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-group has-background is-layout-constrained wp-block-group-is-layout-constrained\" style=\"border-width:1px;border-radius:15px;background-color:#9b51e04d\">\n<p><strong>Remarque<\/strong><\/p>\n\n\n\n<p>Pour vous authentifier via un workflow GitHub Actions, vous pouvez utiliser un&nbsp;<strong><code>GITHUB_TOKEN<\/code><\/strong>&nbsp;:<\/p>\n\n\n\n<p>Pour le&nbsp;<strong>registre de conteneurs<\/strong>&nbsp;\u00e0 l\u2019adresse&nbsp;<code>ghcr.io\/OWNER\/NOM-DE-L\u2019IMAGE<\/code>.<\/p>\n\n\n\n<p>Pour les&nbsp;<strong>registres de paquets<\/strong>&nbsp;\u00e0 l\u2019adresse&nbsp;<code>PACKAGE-REGISTRY.pkg.github.com<\/code>.<\/p>\n<\/div>\n<\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans cette section, vous allez apprendre les bases de l\u2019utilisation d\u2019un&nbsp;workflow&nbsp;pour publier sur&nbsp;GitHub Packages, ainsi que les \u00e9tapes n\u00e9cessaires pour&nbsp;construire,&nbsp;s\u2019authentifier,&nbsp;taguer&nbsp;et&nbsp;pousser&nbsp;une image Docker vers [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":5295,"menu_order":4,"comment_status":"closed","ping_status":"closed","template":"","doc_tag":[],"doc_badge":[],"class_list":["post-5313","docs","type-docs","status-publish","hentry"],"author_avatar":"https:\/\/secure.gravatar.com\/avatar\/6a70e7c73db9f245e650948d09d74f61?s=96&d=mm&r=g","author_name":"Annick N'dri","_links":{"self":[{"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs\/5313"}],"collection":[{"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/comments?post=5313"}],"version-history":[{"count":0,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs\/5313\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/docs\/5295"}],"wp:attachment":[{"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/media?parent=5313"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/doc_tag?post=5313"},{"taxonomy":"doc_badge","embeddable":true,"href":"https:\/\/techhub.saworks.io\/fr\/wp-json\/wp\/v2\/doc_badge?post=5313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}