Topik ini menjelaskan cara menggunakan instans Container Registry Edisi Pribadi untuk menghubungkan repository kode sumber, membuat repository image, mengonfigurasi aturan build, dan memicu proses build image. Setelah menyelesaikan langkah-langkah ini, Container Registry dapat secara otomatis membangun image baru setiap kali Anda mendorong kode ke branch atau tag yang telah dikonfigurasi.
Sebelum memulai
Pastikan prasyarat berikut telah terpenuhi:
-
Instans Container Registry Edisi Pribadi sudah ada di wilayah target Anda.
-
Namespace telah dibuat dalam instans tersebut. Untuk petunjuknya, lihat Kelola namespace.
-
Anda memiliki akun GitHub, Gitee, atau GitLab dengan repository yang berisi Dockerfile yang valid.
-
Anda memiliki izin yang cukup untuk mengelola instans Container Registry Edisi Pribadi.
Timeout build untuk Container Registry Edisi Pribadi adalah 30 menit. Jika Anda memerlukan konfigurasi fleksibel, parameter build kustom, atau build image multi-arsitektur, gunakan Container Registry Edisi Perusahaan sebagai gantinya. Untuk informasi lebih lanjut, lihat Gunakan instans Container Registry Edisi Perusahaan untuk membangun image.
Persyaratan gambar dasar
Sebelum membangun image dengan instans Edisi Pribadi, pastikan image dasar yang dirujuk dalam Dockerfile Anda memenuhi persyaratan berikut:
|
Dukungan |
Persyaratan |
|
Didukung |
Image Internet yang dapat diakses publik dan tidak memerlukan otorisasi. |
|
Didukung |
Image Internet privat yang dimiliki oleh akun dan wilayah yang sama dengan instans Edisi Pribadi Anda (misalnya, image Container Registry Edisi Pribadi di wilayah yang sama atau image yang dapat diakses publik). |
|
Tidak didukung |
Image privat yang berada di wilayah berbeda dari instans Edisi Pribadi. |
|
Tidak didukung |
Image yang dibangun atau dioptimalkan untuk virtual private cloud (VPC), terlepas dari wilayahnya. |
|
Tidak didukung |
Image privat yang tidak dapat diakses dari Internet. |
Kode sumber yang digunakan untuk build image dapat disimpan di repository kode sumber luar Tiongkok daratan. Container Registry dapat menarik kode sumber dari luar Tiongkok daratan.
Langkah 1: Bind repository kode sumber
Contoh ini menggunakan GitHub. Untuk petunjuk mengikat repository kode sumber lainnya (Gitee, GitLab), lihat Bind platform hosting kode sumber.
Untuk mengikat repository GitLab privat yang di-host di VPC, lihat Bangun gambar kontainer di VPC.
Masuk ke Konsol Container Registry.
Pada bilah navigasi atas, pilih wilayah.
Pada panel navigasi kiri, klik Instances.
Pada halaman Instances, klik instans Edisi Pribadi yang ingin Anda kelola.
-
Pada panel navigasi kiri halaman pengelolaan instans, pilih .
-
Pada halaman Code Source, temukan baris GitHub dan klik Bind Account pada kolom Actions.
-
Pada kotak dialog GitHub, klik Go to the source code repository to bind account.
-
Pada halaman login GitHub, masukkan username dan password Anda, lalu klik Sign in.
Anda akan diarahkan kembali ke Konsol Container Registry. Pesan konfirmasi akan muncul yang menunjukkan bahwa akun berhasil diikat.
Langkah 2: Konfigurasi informasi repository
Namespace harus sudah ada sebelum Anda membuat repository. Jika belum membuat namespace, lihat Kelola namespace.
Masuk ke Konsol Container Registry.
Pada bilah navigasi atas, pilih wilayah.
Pada panel navigasi kiri, klik Instances.
Pada halaman Instances, klik instans Edisi Pribadi yang ingin Anda kelola.
-
Pada panel navigasi kiri halaman pengelolaan instans, pilih .
-
Pada halaman Repositories, klik Create Repository.
-
Pada langkah Repository Info, konfigurasikan bidang-bidang berikut:
Field
Description
Namespace
Pilih namespace tempat repository tersebut berada.
Repository Name
Masukkan nama untuk repository. Gunakan huruf kecil, angka, tanda hubung (-), dan garis bawah (_).
Repository Type
Pilih Private (hanya dapat diakses oleh pengguna yang berwenang) atau Public (dapat diakses siapa saja tanpa autentikasi).
Summary
(Opsional) Masukkan deskripsi singkat tentang repository tersebut.
CatatanAnda tidak dapat membangun image berdasarkan repository on-premises.
-
Klik Next.
Langkah 3: Konfigurasi sumber kode dan pengaturan build
-
Pada langkah Code Source, konfigurasikan bagian-bagian berikut: Code Source, Build Settings, dan Build Rules.
Di bawah Code Source, pilih platform repository kode sumber (misalnya, GitHub), lalu pilih namespace dan repository yang berisi Dockerfile Anda.
Di bawah Build Settings, konfigurasikan opsi-opsi berikut:
Option
Description
Automatically Build Images When Code Changes
Jika diaktifkan, aturan build akan dipicu secara otomatis saat kode di-commit dari suatu branch. Webhook menghubungkan repository kode sumber Anda ke ACR untuk mendeteksi event tersebut.
Build With Servers Deployed Outside Chinese Mainland
Jika diaktifkan, image akan dibangun di server luar Tiongkok daratan lalu didorong ke repository di wilayah yang ditentukan. Aktifkan opsi ini jika kode sumber Anda di-host di luar Tiongkok daratan. Jika kode sumber dan repository gambar kontainer Anda berada di Tiongkok daratan, nonaktifkan Build With Servers Deployed Outside Chinese Mainland dan gunakan lingkungan build di Tiongkok daratan.
Build Without Cache
Jika diaktifkan, setiap build dimulai dari awal dengan menarik kembali image dasar tanpa menggunakan layer cache. Hal ini dapat memperpanjang durasi build. Nonaktifkan Build without Cache untuk mempercepat proses build.
-
Klik Create Repository.
Langkah 4: Konfigurasi aturan build
Aturan build menentukan branch atau tag mana yang memicu build dan lokasi Dockerfile.
Jika Build tidak muncul di panel navigasi kiri halaman pengelolaan repository, repository kode sumber belum diikat ke instans Edisi Pribadi. Kembali ke Langkah 1 untuk mengikat ulang repository kode sumber.
Masuk ke Konsol Container Registry.
Pada bilah navigasi atas, pilih wilayah.
Pada panel navigasi kiri, klik Instances.
Pada halaman Instances, klik instans Edisi Pribadi yang ingin Anda kelola.
-
Pada panel navigasi kiri halaman pengelolaan instans, pilih .
-
Pada halaman Repositories, temukan repository yang ingin Anda kelola dan klik Manage pada kolom Actions.
-
Pada panel navigasi kiri halaman pengelolaan repository, klik Build.
-
Pada bagian Build Rules, klik Add Build Rule.
CatatanUntuk mengubah aturan build yang sudah ada, temukan aturan tersebut dan klik Modify pada kolom Actions.
-
Pada kotak dialog Add Build Rule, konfigurasikan parameter-parameter berikut lalu klik Confirm.
Parameter
Description
Type
Jenis sumber pemicu. Pilih Branch untuk memicu build saat commit ke branch, atau Tag untuk memicu build saat tag yang sesuai didorong.
Code Branch/Tag
Nama branch spesifik atau pola tag yang memicu aturan build.
Build Context Directory
Subdirektori dalam branch atau tag yang menjadi konteks build. Misalnya, jika Dockerfile berada langsung di root branch, biarkan bidang ini kosong atau masukkan
/. Jika Dockerfile berada di subdirektori bernamaapp, masukkanapp/.Dockerfile Filename
Nama file Dockerfile. Nilai default-nya adalah
Dockerfile. Ubah nilai ini hanya jika Dockerfile Anda menggunakan nama file non-standar.Tags
Tag image yang diterapkan pada image hasil build. Contoh:
latest. Anda dapat menggunakan variabel seperti nama branch atau commit SHA untuk penandaan dinamis.
Langkah 5: Bangun image
Anda dapat memicu build secara manual kapan saja, terlepas dari apakah toggle Automatically Build Images When Code Changes diaktifkan atau tidak.
Masuk ke Konsol Container Registry.
Pada bilah navigasi atas, pilih wilayah.
Pada panel navigasi kiri, klik Instances.
Pada halaman Instances, klik instans Edisi Pribadi yang ingin Anda kelola.
-
Pada panel navigasi kiri halaman pengelolaan instans, pilih .
-
Pada halaman Repositories, temukan repository yang ingin Anda kelola dan klik Manage pada kolom Actions.
-
Pada panel navigasi kiri halaman pengelolaan repository, klik Build.
-
Pada bagian Build Rules, temukan aturan build yang ingin Anda gunakan dan klik Build pada kolom Actions.
Setelah build selesai, catatan build akan muncul dalam daftar.
CatatanUntuk melihat log build, temukan catatan build tersebut dan klik Log pada kolom Actions. Jika build gagal, periksa log untuk mencari error seperti Dockerfile yang tidak ditemukan, image dasar yang tidak dapat diakses, atau timeout build (timeout Edisi Pribadi adalah 30 menit).
-
Setelah build selesai, klik Tags pada panel navigasi kiri untuk memverifikasi bahwa tag image berhasil dibuat.
Pemecahan masalah kegagalan build umum
|
Gejala |
Kemungkinan penyebab |
Tindakan |
|
Build tidak muncul di panel navigasi kiri |
Repository kode sumber belum diikat |
Kembali ke Langkah 1 dan ikat ulang repository kode sumber. |
|
Build gagal segera |
Dockerfile tidak ditemukan di path yang dikonfigurasi |
Verifikasi bahwa Dockerfile Filename dan Build Context Directory dalam aturan build sesuai dengan lokasi file aktual di repository Anda. |
|
Build gagal dengan error image dasar |
Image dasar tidak dapat diakses |
Pastikan image dasar dapat diakses publik atau dimiliki oleh akun dan wilayah yang sama. Image yang dioptimalkan untuk VPC dan image privat pihak ketiga tidak didukung. |
|
Build timeout |
Build melebihi batas waktu 30 menit |
Optimalkan Dockerfile Anda (misalnya, gunakan multi-stage builds untuk mengurangi ukuran image), atau beralih ke Container Registry Edisi Perusahaan untuk timeout build yang lebih lama. |
Langkah selanjutnya
Setelah build berhasil, Anda dapat mengelola repository dan menggunakan image tersebut:
Tampilkan dan Gunakan Gambar
-
Dorong dan tarik image: Dorong image ke dan tarik image dari repository image instans Container Registry Edisi Pribadi.
-
Deploy ke kluster: Gunakan image yang telah dibangun untuk men-deploy aplikasi di Container Service for Kubernetes (ACK):
Kelola repository
-
Lihat riwayat build: Di halaman pengelolaan repository, klik Build untuk melihat semua catatan build sebelumnya beserta statusnya.
-
Lihat log build: Temukan catatan build dan klik Log pada kolom Actions untuk mendiagnosis masalah build.
-
Ubah aturan build: Di bagian Build Rules, temukan aturan tersebut dan klik Modify pada kolom Actions untuk memperbarui kondisi pemicu atau pengaturan Dockerfile.
Tingkatkan untuk fitur lanjutan
-
Tingkatkan ke Edisi Perusahaan: Untuk fitur lanjutan seperti konfigurasi build fleksibel, parameter kustom, build multi-arsitektur, dan kontrol keamanan yang ditingkatkan, lihat Gunakan instans Container Registry Edisi Perusahaan untuk membangun image.