Ringkasan

Selesai

Modul ini memperkenalkan Anda ke Paket GitHub, layanan hosting paket terintegrasi penuh dalam GitHub. Anda mempelajari cara menerbitkan, menginstal, menghapus, dan memulihkan paket sambil mengontrol izin dan visibilitas untuk manajemen paket yang aman.

Apa yang telah Anda Pelajari

Anda belajar bagaimana mendeskripsikan manfaat dan penggunaan:

Paket penerbitan

  • Registri yang didukung: registri npm, NuGet, Maven, Gradle, RubyGems, Docker, dan Container.
  • Otentikasi: Membuat dan menggunakan token akses pribadi (PATs) dengan cakupan yang sesuai.
  • Alur kerja penerbitan: Mengautentikasi, mengonfigurasi metadata paket, dan menerbitkan menggunakan alat asli.
  • Penerbitan NuGet: Menggunakan dotnet CLI dan file nuget.config untuk autentikasi.
  • penerbitan npm: Mengonfigurasi file .npmrc dan menggunakan npm login untuk autentikasi.
  • Otomatisasi: Menerbitkan paket secara otomatis dengan alur kerja GitHub Actions.
  • Praktik terbaik: Penerapan versi, dokumentasi, saran keamanan, dan kelengkapan metadata.

Menginstal paket

  • Penemuan paket: Mencari secara global, dalam organisasi, atau di repositori.
  • Alur kerja penginstalan: Autentikasi ke Paket GitHub dan instal dengan manajer paket asli.
  • Penginstalan NuGet: Menggunakan Visual Studio, dotnet CLI, atau pengeditan .csproj langsung.
  • penginstalan npm: Mengonfigurasi file .npmrc, dependensi package.json, dan dukungan untuk multi-organisasi.
  • Integrasi CI/CD: Menginstal paket di GitHub Actions menggunakan GITHUB_TOKEN.
  • Pemecahan masalah: Mengatasi masalah autentikasi, izin, dan versi.

Menghapus dan memulihkan paket

  • Aturan penghapusan: Memahami batasan untuk paket publik (batas unduhan 5.000).
  • Persyaratan izin: Akses admin untuk paket dengan cakupan repositori.
  • Menghapus versi: Menghapus versi tertentu sambil menjaga versi lainnya tetap tersedia.
  • Menghapus seluruh paket: Menghapus semua versi dari Paket GitHub.
  • Kondisi pemulihan: Jendela 30 hari, ketersediaan namespace, dan mempertahankan izin.
  • Manajemen API: Menggunakan REST API untuk operasi paket terprogram.
  • Praktik terbaik: Komunikasi, penghentian, masa tenggang, dan rekam jejak audit.

Mengonfigurasi kontrol dan visibilitas akses

  • Model izin: Izin yang diwariskan repositori vs. izin terperinci (registri kontainer).
  • Opsi visibilitas: Paket publik, privat, dan internal (khusus Perusahaan).
  • Izin gambar kontainer: Membaca, menulis, dan peran admin dengan kontrol akses independen.
  • Akses pengguna dan tim: Memberikan izin kepada individu dan tim.
  • Praktik terbaik keamanan: Hak istimewa terkecil, audit reguler, akses berbasis tim, dan dokumentasi.
  • Strategi organisasi: Visibilitas standar, proses permintaan akses, dan perataan kepatuhan.

Ringkasan konsep utama

Integrasi Paket GitHub

  • Platform terpadu: Paket hidup bersama kode sumber di GitHub.
  • Autentikasi yang sama: Gunakan kredensial GitHub alih-alih akun registri terpisah.
  • Otomatisasi alur kerja: Terbitkan paket secara otomatis dengan GitHub Actions.
  • Beberapa registri: Dukungan untuk npm, NuGet, Maven, Docker, dan lainnya dalam satu platform.

Keamanan dan kontrol akses

  • Izin terperinci: Registri kontainer mendukung kontrol akses independen.
  • Izin yang diwariskan repositori: Sebagian besar jenis paket mengikuti akses repositori.
  • Autentikasi PAT: Autentikasi aman menggunakan token akses pribadi.
  • Publik vs. privat: Pilih visibilitas berdasarkan kebutuhan keamanan dan kolaborasi.

Manajemen siklus hidup paket

  • Penerbitan: Penerbitan otomatis atau manual dengan alat paket asli.
  • Penerapan versi: Penerapan versi semantik untuk komunikasi perubahan yang jelas.
  • Penghapusan: Hapus versi lama atau rentan dengan pembatasan keamanan.
  • Restorasi: Pulihkan paket yang dihapus dalam jangka waktu 30 hari.

Manfaat automasi

  • Integrasi CI/CD: Integrasi mulus dengan GitHub Actions.
  • GITHUB_TOKEN: Autentikasi otomatis dalam alur kerja tanpa PAT.
  • Penerbitan yang konsisten: Setiap rilis membuat paket secara otomatis.
  • Gerbang kualitas: Jalankan pengujian sebelum menerbitkan paket.

Langkah selanjutnya

Lanjutkan pembelajaran

Tingkatkan keterampilan Paket GitHub Anda:

  • Autentikasi tingkat lanjut: Menerapkan strategi autentikasi di seluruh organisasi.
  • Promosi paket: Kembangkan alur kerja untuk mempromosikan paket melalui tahap kualitas.
  • Penerbitan monorepo: Terbitkan beberapa paket dari satu repositori.
  • Pemindaian keamanan: Mengintegrasikan pemindaian kerentanan untuk paket yang diterbitkan.

Jelajahi skenario tingkat lanjut:

  • Dukungan multi-registri: Konfigurasikan proyek untuk menggunakan beberapa registri paket.
  • Pemindahan paket: Menyimpan sementara paket eksternal dalam Paket GitHub.
  • Otomatisasi kustom: Bangun alur kerja penerbitan tingkat lanjut dengan GitHub Actions.
  • Analitik paket: Lacak penggunaan dan adopsi paket Anda.

Aplikasi praktis

Mulai terapkan:

  1. Siapkan autentikasi: Buat PAT dengan cakupan yang sesuai untuk tim Anda.
  2. Terbitkan paket pertama: Pilih registri dan terbitkan paket pengujian.
  3. Mengonfigurasi konsumen: Siapkan proyek untuk menginstal paket dari Paket GitHub.
  4. Mengotomatiskan penerbitan: Buat alur kerja GitHub Actions untuk penerbitan otomatis.
  5. Mengonfigurasi kontrol akses: Atur visibilitas dan izin berdasarkan kebutuhan keamanan.
  6. Prosedur dokumen: Buat panduan tim untuk manajemen paket.

Integrasi dengan praktik DevOps

Paket GitHub dalam alur kerja DevOps:

  • Integrasi Berkelanjutan: Buat dan terbitkan paket secara otomatis pada setiap commit.
  • Pengiriman Berkelanjutan: Gunakan paket sebagai artefak dalam alur penyebaran.
  • Manajemen dependensi: Mempusatkan dependensi internal dalam Paket GitHub.
  • Pengendalian versi: Lacak versi paket bersamaan dengan versi kode.
  • Kepatuhan keamanan: Menerapkan kontrol akses yang selaras dengan kebijakan organisasi.

Pelajari lebih lanjut

Dokumentasi resmi

Panduan khusus registri

Keamanan dan praktik terbaik

API dan otomatisasi

Komunitas dan dukungan

  • Dokumentasi GitHub: Jelajahi panduan dan tutorial komprehensif.
  • Komunitas GitHub: Ajukan pertanyaan dan dapatkan jawaban dari komunitas.
  • Blog GitHub: Tetap diperbarui dengan fitur dan pengumuman terbaru.
  • Keterampilan GitHub: Jalur pembelajaran interaktif untuk fitur GitHub.