GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Cara Mengatur Pembuatan Otomatis untuk Gambar Docker di GitHub

GitHub memiliki fitur yang disebut Tindakan GitHub yang menjalankan pembuatan otomatis, pengujian, dan skrip lainnya setiap kali Anda membuat perubahan pada repositori. Salah satu kasus penggunaan praktis dari hal ini adalah secara otomatis membuat dan mendorong container Docker ke registry container.

Register Kontainer Baru GitHub

Registri kontainer baru GitHub, yang disebut GitHub Container Registry, sedikit berbeda dari kebanyakan pendaftar seperti Docker Hub. Ini berfungsi sebagai perpanjangan dari Paket GitHub, sistem penyimpanan paket yang mengaitkan paket dengan repositori kode sumbernya. Paket dapat dibuat dan didorong dari repositori, seringkali secara otomatis dengan bantuan pipeline Tindakan GitHub.

GitHub Container Registry hanya menambahkan kompatibilitas khusus Docker ke Paket GitHub, membuatnya berfungsi seperti registri kontainer untuk tujuan menjalankan docker pull dan perintah CLI lainnya.

Anda tidak perlu memublikasikan ke penampung registri GitHub—Anda masih dapat memublikasikan ke Docker Hub dari tindakan dengan beberapa konfigurasi. Tindakan bawaan bekerja dengan GHCR di luar kotak, jadi penyiapannya jauh lebih mudah.

Cara Menyiapkan Pembuatan Otomatis ke Paket GitHub

Untuk memulai, Anda memerlukan repositori. Bahkan jika Anda hanya menerbitkan paket, Anda masih memerlukan repo, karena format untuk GHCR adalah:

ghcr.io/username/repository/image:version

Siapkan repo, lalu klik "Tindakan" untuk membuat tindakan baru. Di bagian “Alur Kerja Integrasi Berkelanjutan Lainnya”, klik “Publikasikan Penampung Docker”.

Ini menghasilkan template starter, yang memerlukan beberapa perubahan agar berfungsi. Pertama, IMAGE_NAME variabel perlu diubah menjadi nama gambar Anda.

Kemudian, pada baris 39, Anda akan menemukan di mana ia masuk ke GHCR.

run: echo "${{ secrets.CR_PAT }}" | docker login https://ghcr.io -u ${{ github.actor }} --password-stdin

Saat ini, satu-satunya skema otentikasi yang didukung adalah Personal Access Tokens (PATs), yang tidak bagus untuk keamanan karena memberikan akses ke seluruh akun. GitHub mengetahui hal ini, dan sedang mengerjakan perbaikan yang lebih baik untuk masa mendatang, tetapi sementara itu jika Anda ingin menggunakan GHCR dari alur kerja GitHub Actions, Anda harus menyimpan PAT di Rahasia untuk repositori Anda, karena jelas hanya menempelkan di sini akan mengerikan.

Pertama, Anda harus menuju ke Pengaturan> Pengaturan Pengembang> Token Akses Pribadi dan buat token baru. Token ini membutuhkan write:packages dan delete:packages pengaturan. Perhatikan bahwa untuk beberapa alasan, memilih paket tulis secara otomatis memilih "Kontrol Penuh Repositori", yang harus Anda hapus centangnya.

Kemudian, buka pengaturan repositori, dan buat rahasia baru bernama CR_PAT , untuk mencocokkan tindakan.

Kembali ke tindakan, dan klik “Mulai Komit” untuk mendorongnya ke repositori.

Setelah di-commit, itu akan memicu alur kerja untuk menjalankan dan membangun paket. Anda dapat memantau status semua alur kerja yang berjalan di bawah tab "Tindakan". Di sini, gagal karena tindakan default mengharapkan ada pengujian untuk dijalankan, yang tidak dimiliki gambar ini.

Setelah berhasil, Anda akan melihat wadah di registri, di bawah "Paket" di halaman utama repositori, atau di bawah paket di profil Anda.


Docker
  1. Cara Memindahkan Gambar Docker antar Host

  2. Cara Mencari, Menarik, Mendaftar &Menghapus Gambar Docker di Linux

  3. Cara Berbagi Gambar Docker Dengan Orang Lain

  1. Cara Memodifikasi Gambar Docker

  2. Cara mengatur Docker dalam Sistem Windows untuk Linux (WSL2) di Windows 10

  3. Bagaimana cara mengatur nick default untuk koneksi irssi baru?

  1. Cara mengatur pencadangan otomatis

  2. Cara memindai Gambar Wadah Docker untuk Kerentanan dengan Trivy

  3. Cara Menandatangani Gambar Docker Anda untuk Meningkatkan Kepercayaan