Apa itu Paket GitHub?

Selesai

Paket GitHub adalah layanan manajemen paket yang memudahkan penerbitan paket publik atau privat di samping kode sumber Anda.

Nota

Jika Anda belum terbiasa dengan GitHub, lihat modul Pengenalan GitHub Learn.

Paket GitHub adalah registri paket

Paket GitHub memungkinkan Anda berbagi dependensi proyek dalam organisasi Anda atau secara publik.

Saat Anda mengerjakan proyek yang memiliki dependensi paket, penting bagi Anda untuk mempercayainya, memahami kode mereka, dan terhubung dengan komunitas yang membangunnya. Dalam organisasi, Anda juga harus dapat dengan cepat menemukan apa yang telah disetujui untuk penggunaan Anda.

Paket GitHub menggunakan antarmuka GitHub yang sama untuk menemukan paket publik di mana saja di GitHub, atau paket privat dalam organisasi atau repositori Anda.

Manajer paket standar

Paket GitHub kompatibel dengan klien manajemen paket umum, sehingga Anda dapat menerbitkan paket dengan alat pilihan Anda. Jika repositori Anda lebih kompleks, Anda mungkin perlu menerbitkan beberapa paket dari berbagai jenis. Anda juga dapat menggunakan webhook atau GitHub Actions untuk sepenuhnya menyesuaikan alur kerja penerbitan dan pasca-penerbitan Anda.

Apakah Anda menerbitkan paket sumber terbuka? Banyak proyek sumber terbuka menyimpan kodenya di GitHub, sehingga Anda dapat menerbitkan versi prarilis paket Anda untuk pengujian dalam komunitas Anda, lalu dengan mudah mempromosikan versi tertentu ke registri publik pilihan Anda.

Halaman paket GitHub n p m, dengan deskripsi, dan instruksi tentang cara menginstalnya.

Pada saat penulisan, Paket GitHub kompatibel dengan manajer paket berikut:

  • npm, manajer paket NodeJS
  • NuGet, manajer paket .NET
  • RubyGems, manajer paket Ruby
  • Maven dan Gradle, dua manajer paket untuk Java

Paket GitHub juga merupakan registri kontainer

Dari aplikasi lengkap hingga utilitas CLI, kontainer adalah bentuk lain dari mendistribusikan kode. Paket GitHub memungkinkan Anda menerbitkan dan mendistribusikan gambar kontainer. Setelah diterbitkan (secara publik atau privat) Anda dapat menggunakan gambar-gambar ini dari mana saja, termasuk:

  • Di lingkungan pengembangan lokal Anda
  • Sebagai gambar dasar dari lingkungan pengembangan GitHub Codespaces Anda
  • Sebagai langkah untuk mengeksekusi ke alur kerja Integrasi Berkelanjutan (CI) / Penyebaran Berkelanjutan (CD) Anda dengan GitHub Actions
  • Di server atau layanan awan

Halaman gambar kontainer GitHub, dengan daftar versi gambar, statistik, dan instruksi tentang cara menginstalnya.

Membandingkan Paket GitHub dengan Rilis GitHub

Paket GitHub digunakan untuk menerbitkan rilis pustaka Anda ke umpan paket standar atau registri kontainer. Mereka dimaksudkan untuk memanfaatkan cara klien manajemen paket tertentu bekerja dengan umpan tersebut, seperti menautkan kembali ke repositori tempat paket dibuat serta versi kode yang digunakan.

Rilis GitHub digunakan untuk merilis bundel perangkat lunak yang dikemas, bersama dengan catatan rilis dan tautan ke file biner. Anda dapat mengunduh rilis tersebut langsung dari URL unik mereka dan melacaknya kembali ke commit spesifik tempat mereka dibuat. Anda hanya dapat mengunduh rilis sebagai tarball atau file ZIP.

Identitas dan izin terpadu

Katakanlah Anda sedang mengerjakan proyek menggunakan GitHub untuk kode sumber hosting: JavaScript untuk ujung depan, dengan npm dan Java untuk back end. Anda sekarang mempertahankan setidaknya tiga set kredensial dan izin pengguna yang berbeda: untuk repositori Git, npm, dan Maven.

Dengan Paket GitHub, Anda dapat menggunakan satu set kredensial di seluruh repositori kode sumber, registri npm privat Anda, dan registri privat Maven atau Gradle Anda. Paket yang diterbitkan melalui GitHub mewarisi visibilitas dan izin yang ditetapkan di tingkat repositori. Anggota tim baru memerlukan akses baca ke paket dan kodenya? Beri mereka akses baca ke repositori dan selesai!

Membuat dan menerbitkan paket dari GitHub

GitHub Actions adalah fitur GitHub lain yang memungkinkan Anda mengotomatiskan alur kerja perangkat lunak Anda. Anda dapat membangun, menguji, dan menyebarkan kode Anda langsung dari GitHub.

Saran

Jika Anda ingin mempelajari selengkapnya tentang GitHub Actions, lihat alur kerja Bangun integrasi berkelanjutan (CI) dengan menggunakan modul GitHub Actions Learn.

Dengan menggabungkan GitHub Actions dan GitHub Packages, Anda dapat membangun alur kerja yang akan membangun dan menguji kode Anda, lalu menerbitkannya ke Paket GitHub hanya dengan mendorong kode ke repositori Anda.

Di unit berikutnya, kita akan mempelajari cara menggunakan alur kerja untuk menerbitkan ke Paket GitHub dan GitHub Container Registry.