In diesem Leitfaden erstellst du einen Actions-Workflow, um deinen Code zu testen und dann in Packages zu veröffentlichen.
Erstelle ein neues Repository für , indem du
.gitignore
für Node hinzufügst. Weitere Informationen finden Sie unter Ein neues Repository erstellen.Klone das Repository auf deinen lokalen Computer.
git clone https://.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 .npm install git add index.js package.json package-lock.json git commit -m "initialize npm package" git push
Erstelle das Verzeichnis
./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: 20 - 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: 20 registry-url: https://npm.pkg..com/ - run: npm ci - run: npm publish env: NODE_AUTH_TOKEN: ${{secrets._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: 20 - 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: 20 registry-url: https://npm.pkg..com/ - run: npm ci - run: npm publish env: NODE_AUTH_TOKEN: ${{secrets._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..com
Bearbeite die
package.json
-Datei, und gib denpublishConfig
-Schlüssel an:"publishConfig": { "@YOUR-USERNAME:registry": "https://npm.pkg..com" }
Committe deine Änderungen und pushe sie in .
$ git add ./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 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.
Du kannst alle Pakete anzeigen, die du veröffentlicht hast.
Navigieren Sie auf 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.
Nachdem du das Paket veröffentlicht hast, solltest du es als projektübergreifende Abhängigkeit verwenden. Weitere Informationen finden Sie unter Arbeiten mit der npm-Registrierung.
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 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 Packages und 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 Packages und Actions:
- Informationen zu -Paketen für ein ausführliches Tutorial zu -Paketen
- Schreiben von Workflows für ein ausführliches Tutorial zu -Aktionen
- Arbeiten mit einer Packages-Registrierung für spezifische Anwendungsfälle und Beispiele