Einführung
In diesem Leitfaden erstellst du einen GitHub Actions-Workflow, um deinen Code zu testen und dann in GitHub Packages zu veröffentlichen.
Wenn du einen verwaltetes Benutzerkonto verwendest, kannst du kein Paket in einem Repository veröffentlichen, das sich im Besitz deines Kontos befindet. Verwende für diesen Leitfaden stattdessen ein persönliches Konto auf GitHub.com.
Veröffentlichen deines Pakets
-
Erstelle ein neues Repository für GitHub, indem du
.gitignore
für Node hinzufügst. Weitere Informationen findest du unter Ein neues Repository erstellen. -
Klone das Repository auf deinen lokalen Computer.
git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.git cd YOUR-REPOSITORY
-
Erstelle eine
index.js
Datei, und füge eine einfache Benachrichtigung hinzu, um „Hallo Welt!“ zu sagen.JavaScript console.log("Hello, World!");
console.log("Hello, World!");
-
Initialisiere ein npm-Paket mit
npm init
. Gib dein Paket im Paketinitialisierungs-Assistenten mit dem Namen@YOUR-USERNAME/YOUR-REPOSITORY
ein, und lege das Testskript aufexit 0
fest. Dadurch wird einepackage.json
-Datei mit Informationen zu deinem Paket generiert.$ npm init ... package name: @YOUR-USERNAME/YOUR-REPOSITORY ... test command: exit 0 ...
-
Führe
npm install
aus, um diepackage-lock.json
-Datei zu generieren. Committe deine Änderungen und pushe sie dann in GitHub.npm install git add index.js package.json package-lock.json git commit -m "initialize npm package" git push
-
Erstelle das Verzeichnis
.github/workflows
. Erstelle in diesem Verzeichnis eine Datei namensrelease-package.yml
. -
Kopiere den folgenden YAML-Inhalt in die
release-package.yml
-Datei ersetzt.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}}
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}}
-
Teile npm mit, in welchem Bereich und welcher Registrierung Pakete mit einer der folgenden Methoden veröffentlicht werden sollen:
-
Füge eine npm-Konfigurationsdatei für das Repository hinzu, indem du eine
.npmrc
-Datei im Stammverzeichnis mit folgendem Inhalt erstellst:@YOUR-USERNAME:registry=https://npm.pkg.github.com
-
Bearbeite die
package.json
-Datei, und gib denpublishConfig
-Schlüssel an:"publishConfig": { "@YOUR-USERNAME:registry": "https://npm.pkg.github.com" }
-
-
Committe deine Änderungen und pushe sie in 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
-
Der von dir erstellte Workflow wird ausgeführt, wenn ein neues Release im Repository erstellt wird. Wenn die Tests bestanden werden, wird das Paket in GitHub Packagesveröffentlicht.
Um dies zu testen, navigiere zur Registerkarte Code in deinem Repository, und erstelle ein neues Release. Weitere Informationen findest du unter „Verwalten von Releases in einem Repository“.
Anzeigen eines veröffentlichten Pakets
Du kannst alle Pakete anzeigen, die du veröffentlicht hast.
-
Navigieren Sie auf GitHub zur Hauptseite des Repositorys.
-
Wähle auf der rechten Randleiste deines Repositorys die Option Pakete aus.
-
Suche nach dem Namen des Pakets, das du anzeigen möchtest, und wähle es aus.
Installieren eines veröffentlichten Pakets
Nachdem du das Paket veröffentlicht hast, solltest du es als projektübergreifende Abhängigkeit verwenden. Weitere Informationen findest du unter Arbeiten mit der npm-Registrierung.
Nächste Schritte
Der Basisworkflow, den du gerade hinzugefügt hast, wird jedes Mal ausgeführt, wenn ein neues Release in deinem Repository erstellt wird. Dies ist jedoch längst nicht alles, was du mit GitHub Packages tun kannst. Du kannst dein Paket mit einem einzelnen Workflow in mehreren Registrierungen veröffentlichen, den Workflow auslösen, um ihn bei verschiedenen Ereignissen wie einer zusammengeführten Pullanforderung auszuführen, Container verwalten usw.
Durch Kombination von GitHub Packages und GitHub Actions kannst du nahezu jeden Aspekt deiner Anwendungsentwicklungsprozesse automatisieren. Willst du loslegen? Hier sind einige hilfreiche Ressourcen zum Ausführen der nächsten Schritte mit GitHub Packages und GitHub Actions:
- Informationen zu GitHub-Paketen für ein ausführliches Tutorial zu GitHub Packages
- Schreiben von Workflows für ein ausführliches Tutorial zu GitHub Actions
- Arbeiten mit einer GitHub Packages-Registrierung für spezifische Anwendungsfälle und Beispiele