- Persone e prospettive
- 20.01.2022
Perché Python è meglio: un'intervista | Idee Lotrèk
Iniziamo una conversazione
100% 0% 5% 35% 100%
Ultimamente a Lotrèk abbiamo avuto la necessità di pubblicare dei pacchetti NPM automaticamente ogni volta che rilasciamo una nuova libreria. Visto che i nostri progetti open source sono hostati su GitHub, abbiamo pensato: perché non utilizzare le GitHub Actions? Ecco come farlo in 3 semplici passi!
Nella vita dell’area tech di una digital agency, la pubblicazione di pacchetti NPM può essere una necessità molto impellente.
Per prima cosa abbiamo bisogno di creare un nuovo token che useremo per pubblicare il nostro modulo su NPM.
Dalla dashboard di NPM andiamo sul menù principale e selezioniamo “Access Token”, poi clicchiamo su “Generate new token”.

Selezioniamo “Automation” per bypassare l’autenticazione a due fattori quando avviene la pubblicazione.

Successivamente copiamo il nostro token che verrà poi utilizzato come GitHub secret.

Le GitHub Actions possono accedere alle GitHub secrets, posto ideale in cui salvare il nostro token!
In "Settings" -> "Secrets" clicchiamo su "New repository secret" aggiungiamo il nostro token NPM che abbiamo precedentemente copiato (in questo esempio useremo come nome NPM_TOKEN)

Adesso è il momento di scrivere un po’ di codice per creare una nuova action che permetta di pubblicare il nostro modulo!
Create a new GitHub Action publish.yml inside your project under .github/workflows.
Creiamo un file chiamato publish.yml dentro il nostro progetto sotto .github/workflows, conterrà il codice della nostra Action.
name: Publish to NPM
on:
release:
types: [created]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v2
with:
node-version: '14.x'
registry-url: 'https://registry.npmjs.org'
- name: Install dependencies and build 🔧
run: npm install && npm run build
- name: Publish package on NPM 📦
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
Questa Action dovrà essere eseguita ogni volta che faremo una nuova release su GitHub.
on:
release:
types: [created]
Gli step che vengono eseguiti sono molto chiari:
- name: Publish package to NPM 📦
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
Per vedere la nostra nuova action in azione dobbiamo creare una nuova release su GitHub.

Adesso il nostro modulo è stato pubblicato su NPM 🎉.
Scopri di più
Idee Idee Idee
Perché Python è meglio: un'intervista | Idee Lotrèk
Continuous Integration e Continuous Deployment con TravisCI e Netlify
L’approccio Jamstack per aumentare la velocità di un sito web del settore turistico