Che cos'è GitHub Packages?
GitHub Packages è un servizio di gestione pacchetti che semplifica la pubblicazione di pacchetti pubblici o privati accanto al codice sorgente.
Annotazioni
Se non si ha già familiarità con GitHub, vedere il modulo Introduzione a GitHub Learn.
GitHub Packages è un registro dei pacchetti
GitHub Packages consente di condividere le dipendenze del progetto all'interno dell'organizzazione o pubblicamente.
Quando si lavora a un progetto con dipendenze da pacchetti, è importante poterli considerare attendibili, comprenderne il codice e interagire con la community che li ha creati. All'interno delle organizzazioni, è anche necessario essere in grado di trovare rapidamente ciò che è stato approvato per l'uso.
GitHub Packages usa la stessa interfaccia GitHub familiare per trovare pacchetti pubblici ovunque in GitHub o pacchetti privati all'interno dell'organizzazione o dei repository.
Gestione pacchetti standard
GitHub Packages è compatibile con i client comuni di gestione dei pacchetti, quindi è possibile pubblicare pacchetti con gli strumenti scelti. Se il repository è più complesso, potrebbe essere necessario pubblicare più pacchetti di tipi diversi. È anche possibile usare webhook o GitHub Actions per personalizzare completamente i flussi di lavoro di pubblicazione e post-pubblicazione.
Si pubblica un pacchetto open source? Molti progetti open source archiviano il codice in GitHub, quindi è possibile pubblicare versioni non definitive dei pacchetti per i test all'interno della community, quindi promuovere facilmente versioni specifiche al Registro di sistema pubblico preferito.
Al momento della scrittura, GitHub Packages è compatibile con gli strumenti di gestione pacchetti seguenti:
- npm, gestione pacchetti NodeJS
- NuGet, gestione pacchetti .NET
- RubyGems, gestione pacchetti Ruby
- Maven e Gradle, due gestori pacchetti per Java
GitHub Packages è anche un registro contenitori
Dalle applicazioni complete alle utilità dell'interfaccia della riga di comando, i contenitori sono un'altra forma di distribuzione del codice. GitHub Packages consente di pubblicare e distribuire immagini del contenitore. Dopo la pubblicazione (in pubblico o privato) è possibile usare queste immagini da qualsiasi posizione, tra cui:
- Nell'ambiente di sviluppo locale
- Come immagine di base dell'ambiente di sviluppo GitHub Codespaces
- Come passaggio da eseguire nel flusso di lavoro di integrazione continua /distribuzione continua (CD) con GitHub Actions
- In un server o in un servizio cloud
Confrontare i pacchetti GitHub con le versioni di GitHub
GitHub Packages viene usato per pubblicare le versioni delle librerie in un feed di pacchetti standard o in un registro contenitori. Sono concepiti per sfruttare i modi in cui funziona il client di gestione dei pacchetti specifico con tale feed, ad esempio il collegamento al repository in cui è stato creato il pacchetto, nonché la versione del codice usato.
Le versioni di GitHub vengono usate per rilasciare un bundle di software in pacchetto, insieme alle note sulla versione e ai collegamenti ai file binari. È possibile scaricare queste versioni direttamente dall'URL univoco e tracciarle fino al commit specifico dal quale sono state create. È possibile scaricare le versioni solo come file tarball o ZIP.
Identità unificata e autorizzazioni
Si supponga di lavorare a un progetto usando GitHub per l'hosting del codice sorgente: JavaScript per il front-end, con npm e Java per il back-end. È ora possibile gestire almeno tre set diversi di credenziali utente e autorizzazioni: per i repository Git, npm e Maven.
Con GitHub Packages è possibile usare un singolo set di credenziali nel repository del codice sorgente, nel registro npm privato e nel registro privato Maven o Gradle. I pacchetti pubblicati tramite GitHub ereditano la visibilità e le autorizzazioni assegnate a livello di repository. Un nuovo membro del team deve ottenere i permessi di lettura per un pacchetto e il suo codice? Concedi loro l'accesso in lettura al repository e il gioco è fatto.
Compilare e pubblicare pacchetti da GitHub
GitHub Actions è un'altra funzionalità di GitHub che consente di automatizzare i flussi di lavoro software. È possibile compilare, testare e distribuire il codice direttamente da GitHub.
Suggerimento
Per altre informazioni su GitHub Actions, vedere il modulo Build Continuous Integration (CI) (Creare flussi di lavoro di integrazione continua (CI) usando GitHub Actions Learn.
Combinando GitHub Actions e GitHub Packages, è possibile creare un flusso di lavoro che compilerà e testerà il codice e quindi lo pubblicherà in GitHub Packages semplicemente eseguendo il push del codice nel repository.
Nell'unità successiva si apprenderà come usare il flusso di lavoro per la pubblicazione in GitHub Packages e in GitHub Container Registry.