Git

Pengaturan Registri Kontainer GitLab

Pengaturan Registri Kontainer GitLab
Dalam posting terakhir kami, kami menunjukkan kepada Anda bagaimana Anda dapat mengatur instance GitLab untuk mengelola proyek organisasi atau pribadi Anda. Kami menyarankan Anda untuk menggunakan FQDN dan menyediakan instans GitLab melalui HTTPS. Karena sebagian besar aplikasi dikemas sebagai wadah, masuk akal untuk menyiapkan registri wadah tempat berbagai versi aplikasi Anda, serta komponennya yang berbeda dapat disimpan sebagai gambar Docker.

Jika Anda tidak tahu apa itu registri kontainer, jangan khawatir. Ini akan menjadi jelas setelah Anda benar-benar mendorong gambar kontainer pertama Anda ke dalam instance GitLab. Untuk saat ini, anggap mereka sebagai repositori untuk gambar kontainer Anda. Ini bukan wadah yang berjalan tetapi hanya gambar (data biasa) yang ada di instance GitLab jarak jauh.

Mengapa Anda menginginkan registri wadah GitLab??

Kemungkinan aplikasi Anda dikemas baik sebagai gambar Docker tunggal atau kumpulan gambar tersebut. Ini berarti versi yang berbeda akan dikaitkan dengan gambar yang berbeda dan registri penampung akan membantu Anda melacaknya satu per satu serta melihat mana yang akan digabungkan bersama dalam rilis tertentu.

Registri adalah untuk wadah, apa repositori untuk kode sumber dan GitLab adalah satu tempat untuk menangani semuanya.

Prasyarat

  1. Instance GitLab yang berfungsi melalui HTTPS
  2. Akses root ke instance
  3. Akses untuk mengubah data DNS nama domain Anda

Kami akan menganggap GitLab kami sedang berjalan gitlab.contoh.com .

Registri DNS dan sertifikat TLS

Anda harus menjadi pengguna root untuk mengaktifkan fitur registry container di seluruh instance GitLab. Pengguna individu kemudian dapat memilih untuk menggunakan fitur ini di proyek masing-masing, jika mereka menginginkannya. Ada dua cara untuk melakukannya:

  1. Gunakan kembali nama domain dan sertifikat TLS yang ada untuk gitlab.contoh.com dan jalankan registri pada port yang berbeda.
  2. Tunjuk nama domain lain, misalkan, pendaftaran.gitlab.contoh.com ke alamat IP yang sama tempat GitLab berjalan dan konfigurasikan registri di sana.

Mari kita pergi dengan opsi kedua karena jauh lebih profesional.

Langkah 1: Tambahkan catatan A untuk pendaftaran.gitlab.contoh.com menunjuk ke IP yang sama tempat instance GitLab Anda berjalan.

Langkah 2: Hentikan layanan gitlab yang berjalan di server Anda.

$ sudo gitlab-ctl stop

Langkah 3: Tambahkan klien ACME certbot's PPA ke sistem Anda dan instal certbot.

$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt update
$ sudo apt install certbot

Langkah 4: Dapatkan sertifikat dari Let's Encrypt.

$ certbot pasti

Anda akan melihat pesan seperti:
“'
Bagaimana Anda ingin mengautentikasi dengan ACME CA?
--
1: Putar server web sementara (mandiri)
2: Tempatkan file di direktori webroot (webroot)
--
Pilih nomor yang sesuai [1-2] lalu [enter] (tekan 'c' untuk membatalkan): 1
“'

Ini kemudian akan meminta email Anda, meminta Anda untuk menyetujui persyaratan layanan mereka, dan, yang paling penting, menanyakan nama domain Anda yang akan pendaftaran.gitlab.contoh.com dalam contoh kasus kami. Anda akan mendapatkan pesan yang mengatakan apakah sertifikat diperoleh atau tidak. Jika ya, lanjutkan ke Langkah 5

Langkah 5: Sekarang setelah kita memiliki sertifikat, saatnya untuk menempatkannya di bawah direktori terkait GitLab.

$cp /etc/letsencrypt/live/registry.gitlab.contoh.com/fullchain.pem
/etc/gitlab/ssl/registry.gitlab.contoh.crt
$cp /etc/letsencrypt/live/registry.gitlab.contoh.com/privkey.pem
/etc/gitlab/ssl/registry.gitlab.contoh.kunci

Amankan izin pada mereka:

$ chmod 600 /etc/gitlab/ssl/registry.gitlab.contoh.com.*

Seperti tutorial lainnya, pastikan Anda mengganti contoh.com dengan nama domain Anda yang sudah ada. Karena itulah nama direktorinya, tempat certbot menyimpan sertifikat.

Langkah 6: Edit konfigurasi GitLab. Buka filenya /etc/gitlab/gitlab.rb dan tambahkan baris berikut ke bagian bawahnya:

registry_external_url 'https://registry.gitlab.contoh.com'

Jika Anda telah melakukan semuanya dengan hati-hati, bagian paling rumit dari pengaturan selesai! Anda sekarang akan memiliki dan menjalankan registri Kontainer, jalankan saja:

$ sudo gitlab-ctl konfigurasi ulang
$ sudo gitlab-ctl start

Mengaktifkan Registry dan Mendorong Gambar

Sekarang setelah kita memiliki Container Registry, mari buat proyek baru menggunakan UI web GitLab dan verifikasi bahwa itu berfungsi.

Di kolom sebelah kiri Anda dapat melihat bagian Registry.  Anda dapat mengkliknya untuk melihat petunjuk terperinci tentang cara masuk dan memasukkan gambar ke dalamnya. Mari kembali ke desktop lokal kita, yang seharusnya sudah menginstal Docker di dalamnya.

Kita dapat menggunakannya untuk membangun wadah hello-world sederhana dan mendorongnya ke registri ini. Di sistem lokal Anda, buat folder baru:

$cd ~
$mkdir sample_container

Di dalamnya mari kita buat file bernama file docker dan tambahkan konten berikut ke dalamnya:

DARI ubuntu: terbaru
## Perintah khusus Anda di sini

Anda dapat menyimpan Dockerfile Anda hanya dengan baris pertama. Ini akan menjadi wadah ubuntu biasa. Sekarang Anda membuatnya dengan tag yang bermakna (kami akan menggunakan tag proyek saya yang sama dengan nama proyek GitLab kami, ini penting). Di direktori yang sama jalankan:

$ docker build -t registri.gitlab.contoh.com//proyek saya .

Ingatlah untuk mengganti nama pengguna GitLab Anda alih-alih placeholder yang digunakan dalam perintah di atas.

Itu hanya membuat wadah Ubuntu bersama dengan mengambil gambar. Gambar ini yang didorong. Jika Anda memodifikasi wadah dan membuat gambar baru dengannya (menggunakan komit buruh pelabuhan perintah itu akan menjadi gambar baru). Mari dorong gambar vanilla ubuntu ke registri kami.

Pertama kita harus login menggunakan username dan password Gitlab kita:

$ pendaftaran masuk buruh pelabuhan.gitlab.contoh.com

Lalu lari:

$ docker build -t registri.gitlab.contoh.com/root/proyek-saya .
$ docker push registri.gitlab.contoh.com/root/proyek-saya

Jika Anda tidak yakin apa tag penampung Anda seharusnya, kunjungi halaman registri proyek Anda dan akan ada instruksi yang jelas untuk itu. Jika perintah docker push telah bekerja dengan baik, Anda dapat melihat gambar docker baru diunggah (atau didorong) di instance GitLab Anda. Seperti yang ditunjukkan dalam kasus saya:

Kesimpulan

Kontrol versi jauh lebih dari sekadar manajemen kode sumber. Ini terus ditingkatkan untuk mengakomodasi berbagai tuntutan yang mungkin diperlukan oleh setiap proyek perangkat lunak secara tidak terduga. Registri kontainer hanyalah puncak gunung es. Anda dapat memiliki saluran CD/CI, manajemen konfigurasi lanjutan, otorisasi melalui token, dan banyak fungsi lain yang diaktifkan di GitLab. Semoga Anda mempelajari sesuatu yang baru tentang teknologi luar biasa ini dalam tutorial ini.

Beri tahu kami jika ada sesuatu yang Anda ingin kami liput!

Trackpad dan Mouse Pointer di Layar AppyMouse untuk Tablet Windows
Pengguna tablet sering melewatkan penunjuk mouse, terutama ketika mereka terbiasa menggunakan laptop. Layar sentuh Smartphone dan tablet hadir dengan ...
Tombol tengah mouse tidak berfungsi di Windows 10
Itu tombol tengah mouse membantu Anda menelusuri halaman web dan layar yang panjang dengan banyak data. Jika itu berhenti, Anda akhirnya akan mengguna...
Cara Mengganti Tombol Kiri & Kanan Mouse di PC Windows 10
Sudah menjadi hal biasa bahwa semua perangkat mouse komputer dirancang secara ergonomis untuk pengguna yang tidak kidal. Tetapi ada perangkat mouse ya...