Container Registry Edisi Perusahaan menyediakan proses integrasi berkelanjutan otomatis yang aman dan efisien dari kode sumber hingga gambar kontainer. Layanan ini juga mendukung pembuatan gambar otomatis dan pengiriman ke repositori gambar sesuai aturan Dockerfile. Topik ini menjelaskan cara menggunakan instance Container Registry Edisi Perusahaan untuk membangun gambar kontainer.
Prasyarat
Instance Container Registry Edisi Perusahaan telah dibuat. Untuk informasi lebih lanjut, lihat bagian "Langkah 1: Buat instance Container Registry Edisi Perusahaan" dalam topik Dorong gambar ke instance Container Registry Edisi Perusahaan dan tarik gambar dari instance tersebut.
Dockerfile untuk membangun gambar telah dibuat.
Informasi latar belakang
Layanan pembuatan gambar Container Registry menawarkan fitur keamanan, stabilitas, dan percepatan cerdas:
Keamanan: Setiap tugas pembuatan gambar didistribusikan ke lingkungan eksklusif untuk Akun Alibaba Cloud guna memastikan keamanan.
Stabilitas: Jika Anda menggunakan repositori kode sumber untuk membangun beberapa gambar, waktu yang diperlukan untuk setiap tugas pembuatan gambar tetap stabil karena tugas dijalankan pada lingkungan eksklusif untuk Akun Alibaba Cloud Anda.
Percepatan Cerdas:
Secara default, sistem menggunakan alat pembuatan efisien BuildKit. BuildKit memiliki kemampuan pembuatan kuat, terutama untuk skenario multi-tahap, serta mendukung fitur pembuatan yang kaya.
Sistem menampung gambar dasar umum. Selama pembuatan gambar, sistem dapat menggunakan gambar dasar tanpa perlu menariknya, membantu mengurangi periode waktu pembuatan.
Sistem dapat menggunakan cache jarak jauh untuk mempercepat pembuatan gambar.
Container Registry mendukung berbagai platform hosting kode dan percepatan pembuatan gambar.
Platform Hosting Kode: Tabel berikut mencantumkan platform hosting kode yang didukung.
Platform hosting kode
Versi platform hosting kode
Metode otentikasi untuk pengikatan
Batas pemicu pembuatan gambar
Gitee
Instansi Edisi Personal tidak dapat diikat ke Gitee.
Semua
Otentikasi OAuth Gitee
Tidak ada
GitHub
Versi pengembang GitHub
Otentikasi OAuth GitHub
Tidak ada
GitLab
Semua
Token akses pribadi
Tidak ada
Bitbucket
Semua
Otentikasi OAuth Gitee
Tidak ada
Percepatan Pembuatan Gambar: Sistem memungkinkan Anda memuat sumber daya gambar kontainer sesuai permintaan. Versi dipercepat dari gambar kontainer secara otomatis dihasilkan setelah gambar didorong. Untuk informasi lebih lanjut, lihat Muat sumber daya gambar kontainer sesuai permintaan.
Langkah 1: Ikat instans Anda ke platform hosting kode sumber
Sebelum membangun gambar, Anda harus mengikat instans Anda ke platform hosting kode sumber. Untuk informasi lebih lanjut, lihat Ikat platform hosting kode sumber.
Anda tidak dapat membangun gambar dari repositori kode lokal.
Untuk informasi tentang cara mengikat repositori GitLab pribadi dalam virtual private cloud (VPC), lihat Bangun gambar kontainer dalam VPC.
Langkah 2: Buat namespace
Masuk ke Konsol Container Registry.
Di bilah navigasi atas, pilih wilayah.
Di panel navigasi sisi kiri, klik Instances.
Di halaman Instances, klik instans Container Registry Edisi Perusahaan tempat Anda ingin membuat namespace.
Di panel navigasi sisi kiri halaman manajemen instans Edisi Perusahaan, pilih .
Di halaman Namespace, klik Create Namespace.
Di sidebar Create Namespace, konfigurasikan Namespace, atur Automatically Create Repository ke On atau Off. Lalu, klik Confirm.
Jika memilih Automatically Create Repository sebagai On, ikuti langkah-langkah berikut:
Parameter
Deskripsi
Repository Type
Public: Secara default, gambar publik memerlukan pengguna untuk masuk ke instans Edisi Perusahaan sebelum dapat ditarik. Jika Anda ingin mengizinkan penarikan anonim, aktifkan pengaturan penarikan anonim publik instans.
Karena repositori publik mungkin ditarik oleh pengguna yang tidak sah, disarankan untuk mengatur repositori menjadi pribadi untuk memastikan keamanan informasi.
Private: Gambar pribadi dalam Edisi Perusahaan memerlukan pengguna untuk masuk ke instans Edisi Perusahaan dan memiliki izin penarikan sebelum dapat ditarik.
Immutable Image Tags
Flexible atau Immutable. Saat diaktifkan, semua tag selain yang terbaru di repositori tidak dapat ditimpa, memastikan konsistensi gambar kontainer.
Accelerated Images
Menentukan apakah akan mengaktifkan percepatan gambar. Saat diaktifkan, semua gambar di repositori akan secara otomatis menghasilkan gambar dipercepat dengan akhiran
_accelerated.
Langkah 3: Buat repositori gambar
Gambar dipercepat hanya dapat dibangun pada instans Container Registry Edisi Standar dan Edisi Lanjutan. Kami sarankan Anda meningkatkan instans Edisi Dasar ke instans Edisi Standar atau Edisi Lanjutan.
Buat repositori gambar dan ikat ke repositori kode. Semua gambar yang dihasilkan dari repositori kode akan didorong ke repositori gambar.
Masuk ke Konsol Container Registry.
Di bilah navigasi atas, pilih wilayah.
Di panel navigasi sisi kiri, klik Instances.
Di halaman Instances, klik instans Edisi Perusahaan yang ingin Anda kelola.
Di panel navigasi sisi kiri halaman manajemen instans Edisi Perusahaan, pilih .
- Di halaman Repositories, klik Create Repository.
Di langkah Repository Info, konfigurasikan parameter Namespace, Repository Name, Repository Type, Tags, Accelerated Image, Summary, dan Description. Lalu, klik Next.
Di langkah Code Source, konfigurasikan Code Source, Build Settings, dan Build Rules, lalu klik Create Repository.
Parameter
deskripsi
Sumber Kode
Sumber kode.
Pengaturan Pembuatan
Automatically Build Images When Code Changes: Aturan pembuatan dipicu secara otomatis saat kode dikomit dari cabang.
Build With Servers Deployed Outside Chinese Mainland: Selama proses pembuatan, tautan dipercepat digunakan untuk menarik sumber data dari luar Tiongkok. Jika proyek Anda menggunakan GitHub atau BitBucket sebagai sumber kode atau Dockerfile perlu diunduh dari situs di luar Tiongkok, dan jaringan lintas batas tidak stabil, Anda dapat mengaktifkan Build With Servers Deployed Outside Chinese Mainland.
Build Without Cache: Sistem menarik gambar dasar dari repositori kode sumber setiap kali gambar dibangun. Ini mungkin memperlambat proses pembuatan. Anda dapat menonaktifkan Build Without Cache untuk mempercepat pembuatan gambar.
Di halaman Repositories, klik repositori gambar yang dibuat. Jika Build ditampilkan di panel navigasi sisi kiri halaman manajemen repositori, repositori gambar telah diikat ke repositori kode sumber.
Langkah 4: Bangun gambar
Jika Anda tidak dapat menemukan Build di halaman manajemen repositori, instans Edisi Perusahaan gagal diikat ke platform hosting kode sumber. Anda dapat merujuk ke Langkah 1 untuk mengikat ulang instans ke platform hosting kode sumber.
Masuk ke Konsol Container Registry.
Di bilah navigasi atas, pilih wilayah.
Di panel navigasi sisi kiri, klik Instances.
Di halaman Instances, klik instans Edisi Perusahaan yang ingin Anda kelola.
Di panel navigasi sisi kiri halaman manajemen instans Container Registry Edisi Perusahaan, pilih .
Di halaman Repositories, temukan repositori gambar yang dibuat dan klik Manage di kolom Actions.
Di panel navigasi sisi kiri, klik Build. Di bagian Build Rules, klik Add Build Rule. Di langkah Build Information wizard Tambah Aturan Pembuatan, konfigurasikan parameter lalu klik Next. Tabel berikut menjelaskan parameter.
Parameter
Deskripsi
Type
Tentukan tipe repositori kode sumber. Nilai valid: Cabang dan Tag.
Branch/Tag
Pilih atau masukkan cabang atau tag. Ekspresi reguler didukung. Jika Anda menentukan ekspresi reguler release-(?<imageTag>\w*), sistem secara otomatis membangun gambar V1 ketika kode sumber di cabang release-v1 diperbarui. Anda tidak dapat membangun gambar secara manual. Untuk informasi lebih lanjut tentang cara menentukan ekspresi reguler, lihat Gunakan ekspresi reguler dalam grup penangkapan bernama.
CatatanSetelah Anda menentukan ekspresi reguler, gambar hanya dapat dibangun oleh sistem. Anda tidak dapat membangun gambar secara manual.
Build Context Directory
Tentukan direktori tempat Dockerfile berada. Ini adalah subdirektori dari direktori cabang atau tag. Misalnya, jika direktori cabang adalah master/ dan Dockerfile berada di direktori master/, nilainya adalah master/Dockerfile.
Dockerfile Filename
Tentukan nama file Dockerfile. Nama defaultnya adalah Dockerfile.
Di langkah Tag, konfigurasikan parameter, klik Save, lalu klik Next.
CatatanKlik Add Configuration untuk menambahkan tag gambar. Anda dapat menambahkan hingga tiga tag gambar.
Parameter
Deskripsi
Image Tag
Tag gambar. Contoh: latest. Anda dapat mengaktifkan grup penangkapan bernama. Misalnya, jika Anda menentukan grup penangkapan bernama untuk Branch/Tag, Anda dapat menggunakan konten yang ditangkap.
Build Time
Waktu (UTC+8) ketika kode sumber didorong. Contoh: 20201015 atau 202010151613.
CatatanParameter ini opsional. Jika Anda mengatur parameter ini, hanya sistem yang dapat membangun gambar. Anda tidak dapat membangun gambar secara manual.
Commit ID
Jumlah karakter yang akan diambil dari ID komit kode yang paling baru didorong. Secara default, enam karakter pertama digunakan. Anda dapat menyesuaikan slider untuk mengubah jumlah karakter.
CatatanParameter ini opsional. Jika Anda mengatur parameter ini, hanya sistem yang dapat membangun gambar. Anda tidak dapat membangun gambar secara manual.
Di langkah Build Configurations, konfigurasikan parameter lalu klik Confirm. Tabel berikut menjelaskan parameter.
Parameter
Deskripsi
Build Architecture
Arsitektur untuk membangun gambar. Anda dapat memilih beberapa arsitektur. Jika Anda memilih beberapa arsitektur, beberapa gambar kontainer untuk arsitektur tersebut dibangun untuk setiap tag gambar.
Build Parameters
Parameter runtime pembuatan gambar. Setiap parameter pembuatan adalah pasangan kunci-nilai yang peka huruf besar-kecil. Anda dapat mengonfigurasi maksimal 20 parameter pembuatan. Anda dapat mengatur parameter pembuatan untuk memodifikasi variabel lingkungan dalam Dockerfile dan membuat Dockerfile yang sama menunjukkan status yang berbeda.
Picu aturan pembuatan gambar.
Anda dapat menggunakan salah satu metode berikut untuk memicu aturan pembuatan gambar:
Di bagian Build Rules halaman Build, temukan aturan pembuatan gambar dan klik Build di kolom Actions.
Kirim kode ke cabang utama repositori kode sumber untuk memicu aturan pembuatan.
CatatanDi bagian Build Log halaman Build, temukan tugas pembuatan gambar yang dipicu dan klik Cancel di kolom Actions untuk membatalkan tugas pembuatan gambar.
Di bagian Build Log halaman Build, temukan tugas pembuatan gambar yang dipicu dan klik Log di kolom Actions untuk melihat log pembuatan gambar.
Di panel navigasi sisi kiri, klik Image Tag. Jika gambar yang Anda buat ditampilkan, gambar telah dibangun.
Contoh 1: Bangun gambar berdasarkan cabang bernama main (Anda dapat membangun gambar secara manual)
Konfigurasikan aturan pembuatan berdasarkan pengaturan berikut:
Type: Cabang
Branch/Tag:main
Build Context Directory: /
Dockerfile Filename: Dockerfile
Image Tag: latest
Saat Anda mengklik Build atau kode sumber di cabang utama diperbarui, sistem akan membangun gambar. File bernama Dockerfile di direktori / cabang utama digunakan untuk membangun gambar. Tag gambar yang dibuat adalah latest. Gambar berikut menunjukkan konfigurasi aturan pembuatan.

Contoh 2: Bangun gambar berdasarkan cabang yang cocok dengan ekspresi reguler (Anda tidak dapat membangun gambar secara manual)
Konfigurasikan aturan pembuatan berdasarkan pengaturan berikut:
Type: Branch
Branch/Tag: release-(?<imageTag>\w*)
Build Context Directory: /
Dockerfile Filename: Dockerfile
Image Tag: ${imageTag}
Build Time: yyyyMMddHHmm
Commit ID: 30
Jika kode sumber diperbarui di cabang yang namanya dimulai dengan release-, sistem secara otomatis membangun gambar. File bernama Dockerfile di direktori / cabang digunakan untuk membangun gambar.
Sebagai contoh, jika kode sumber di cabang yang namanya dimulai dengan release-v1 diperbarui, aturan reguler release-(?<imageTag>\w*) menangkap v1 dalam nama cabang, mengirim v1 ke variabel imageTag, dan menggunakan v1 dalam tag gambar. Dalam contoh ini, tag gambar yang dibuat adalah v1-202010151625-d4ef3dc3b77a011a5779eec7efdd45. Gambar berikut menunjukkan konfigurasi aturan pembuatan.

Apa yang harus dilakukan selanjutnya
Setelah gambar dibangun, Anda dapat melakukan operasi berikut:
Anda dapat menarik gambar dari klaster Container Service for Kubernetes (ACK) tanpa menggunakan rahasia. Untuk informasi lebih lanjut, lihat Gunakan komponen aliyun-acr-credential-helper untuk menarik gambar tanpa menggunakan Secret.
Anda dapat menggunakan gambar untuk membuat aplikasi di klaster ACK. Untuk informasi lebih lanjut, lihat Buat aplikasi tanpa status menggunakan Deployment.
Anda dapat menggunakan fitur percepatan P2P di klaster ACK untuk mempercepat penarikan gambar. Untuk informasi lebih lanjut, lihat Gunakan fitur percepatan P2P di ACK Serverless dan klaster ACK.