Remarque : Les exécuteurs hébergés sur GitHub ne sont pas pris en charge sur GitHub Enterprise Server. Vous pouvez voir plus d’informations sur le support futur planifié dans la GitHub public roadmap.
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
-
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 ». -
Clonez le référentiel sur votre ordinateur local.
git clone https://YOUR-HOSTNAME/YOUR-USERNAME/YOUR-REPOSITORY.git cd YOUR-REPOSITORY
-
Créez un fichier
index.js
et ajoutez une alerte de base pour dire « Bonjour le monde ! »JavaScript console.log("Hello, World!");
console.log("Hello, World!");
-
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 surexit 0
. Cela génère un fichierpackage.json
contenant des informations sur votre package.$ npm init ... package name: @YOUR-USERNAME/YOUR-REPOSITORY ... test command: exit 0 ...
-
Exécutez
npm install
pour générer le fichierpackage-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
-
Créez un répertoire
.github/workflows
. Dans ce répertoire, créez un fichier nommérelease-package.yml
. -
Copiez le contenu YAML suivant dans le fichier
release-package.yml
, en remplaçantYOUR-HOSTNAME
par le nom de votre entreprise.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.YOUR-HOSTNAME.com/ - run: npm ci - run: npm publish env: NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
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.YOUR-HOSTNAME.com/ - run: npm ci - run: npm publish env: NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
-
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" }
-
-
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
-
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.
-
Sur GitHub, accédez à la page principale du référentiel.
-
Dans la barre latérale droite de votre dépôt, cliquez sur Packages.
-
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 :
- Pour suivre un tutoriel détaillé sur les packages GitHub, consultez « Découvrir GitHub Packages ».
- Pour suivre un tutoriel détaillé sur GitHub Actions, consultez « Écriture de workflows ».
- « Utilisation d’un registre GitHub Packages » pour des cas d’utilisation et des exemples spécifiques