Skip to main content

Démarrage rapide pour les packages GitHub

Publiez sur GitHub Packages avec GitHub Actions.

Introduction

Dans ce guide, vous allez créer un workflow GitHub Actions pour tester votre code, puis publiez-le sur GitHub Packages.

Publication de votre package

  1. Créez un nouveau référentiel sur GitHub, en ajoutant le nœud .gitignore. Pour plus d’informations, consultez « Création d’un dépôt ».

  2. Clonez le référentiel sur votre ordinateur local.

    git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.git
    cd YOUR-REPOSITORY
    
  3. Créez un fichier index.js et ajoutez une alerte de base pour dire « Bonjour le monde ! »

    JavaScript
    console.log("Hello, World!");
    
  4. Initialisez un package npm avec npm init. Dans l’Assistant Initialisation du package, entrez votre package avec le nom : @YOUR-USERNAME/YOUR-REPOSITORY et définissez le script de test sur exit 0. Cela génère un fichier package.json contenant des informations sur votre package.

    $ npm init
      ...
      package name: @YOUR-USERNAME/YOUR-REPOSITORY
      ...
      test command: exit 0
      ...
    
  5. Exécutez npm install pour générer le fichier package-lock.json, puis validez et envoyez (push) vos modifications à GitHub.

    npm install
    git add index.js package.json package-lock.json
    git commit -m "initialize npm package"
    git push
    
  6. Créez un répertoire .github/workflows. Dans ce répertoire, créez un fichier nommé release-package.yml.

  7. Copiez le contenu YAML suivant dans le fichier release-package.yml.

    YAML
    name: Node.js Package
    
    on:
      release:
        types: [created]
    
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v4
          - uses: actions/setup-node@v4
            with:
              node-version: 16
          - run: npm ci
          - run: npm test
    
      publish-gpr:
        needs: build
        runs-on: ubuntu-latest
        permissions:
          packages: write
          contents: read
        steps:
          - uses: actions/checkout@v4
          - uses: actions/setup-node@v4
            with:
              node-version: 16
              registry-url: https://npm.pkg.github.com/
          - run: npm ci
          - run: npm publish
            env:
              NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
    
  8. Indiquez à npm l’étendue et le registre où publier les packages en utilisant une des méthodes suivantes :

    • Ajoutez un fichier de configuration npm pour le référentiel en créant un fichier .npmrc dans le répertoire racine avec le contenu :

      @YOUR-USERNAME:registry=https://npm.pkg.github.com
      
    • Modifiez le fichier package.json et spécifiez la clé publishConfig :

      "publishConfig": {
        "@YOUR-USERNAME:registry": "https://npm.pkg.github.com"
      }
      
  9. Validez et envoyez (push) vos modifications à GitHub.

    $ git add .github/workflows/release-package.yml
    # Also add the file you created or edited in the previous step.
    $ git add .npmrc or package.json
    $ git commit -m "workflow to publish package"
    $ git push
    
  10. Le workflow que vous avez créé s’exécute chaque fois qu’une nouvelle version est créée dans votre référentiel. Si les tests réussissent, le package est publié sur GitHub Packages.

    Pour le tester, accédez à l’onglet Coder de votre référentiel et créez une version. Pour plus d’informations, consultez « Gestion des versions dans un référentiel ».

Affichage de votre package publié

Vous pouvez afficher tous les packages que vous avez publiés.

  1. Sur GitHub, accédez à la page principale du référentiel.

  2. Dans la barre latérale droite de votre dépôt, cliquez sur Packages.

    Capture d’écran de la barre latérale d’une page de dépôt. La section « Packages » est mise en évidence en orange.

  3. Recherchez le nom du package que vous souhaitez voir et cliquez dessus.

Utilisation d’un package publié

Maintenant que vous avez publié le package, vous souhaiterez l’utiliser comme dépendance entre vos projets. Pour plus d’informations, consultez « Utilisation du registre npm ».

Étapes suivantes

Le workflow de base que vous venez d’ajouter s’exécute chaque fois qu’une nouvelle version est créée dans votre référentiel. Mais ce n’est que le début de ce que vous pouvez faire avec GitHub Packages. Vous pouvez publier votre package sur plusieurs registres avec un seul workflow, déclencher l’exécution du workflow sur différents événements tels qu’une demande de tirage fusionnée, gérer des conteneurs, etc.

La combinaison de GitHub Packages et de GitHub Actions peut vous aider à automatiser presque tous les aspects de vos processus de développement d’applications. Vous êtes prêt à commencer ? Voici quelques ressources utiles pour effectuer vos étapes suivantes avec GitHub Packages et GitHub Actions :