Topik ini menjelaskan pengaturan branch untuk repositori kode.
Informasi latar belakang
Pengaturan branch terdiri dari dua bagian:
Pengaturan default branch
Default branch merupakan branch dasar untuk cloning, pembuatan branch baru, pembuatan merge request, dan penjelajahan kode. Branch ini juga dapat dilindungi dari penghapusan yang tidak disengaja. Manajer repositori kode dapat mengubah default branch agar sesuai dengan praktik pengembangan tim.
Pengaturan protected branch
Protected branch membatasi penghapusan dan force push. Manajer repositori kode dapat menetapkan aturan untuk melindungi branch penting, mencegah penghapusan dan force push yang tidak disengaja, serta memastikan keamanan branch kunci dan keterlacakan commit-nya.
Akses pengaturan branch
Sebagai manajer repositori kode, buka repositori kode Anda dan klik pada bilah menu atas.

Buat aturan protected branch
Ikuti langkah-langkah berikut untuk membuat aturan protected branch:

Langkah 1: Pilih branch
Anda dapat menentukan branch dengan salah satu dari dua cara berikut:
Metode 1: Masukkan nama lengkap branch tertentu.
Metode 2: Gunakan pola wildcard (hanya
?dan*yang didukung). Jika pola tersebut cocok dengan beberapa branch, semua branch yang sesuai akan ditampilkan.Jika sebuah protected branch cocok dengan beberapa aturan, aturan mana yang berlaku?
Prioritas: Jika sebuah branch dalam repositori kode cocok dengan beberapa aturan protected branch, aturan yang menargetkan nama branch spesifik memiliki prioritas tertinggi. Jika sebuah branch cocok dengan beberapa aturan wildcard, aturan yang dibuat lebih dulu yang berlaku.
Sebagai contoh, pertimbangkan repositori kode dengan branch
master-1,master-2, danmaster-prod-1. Aturan proteksi dibuat dalam urutan berikut:master-*,master-1, danmaster-prod-*. Tabel berikut menunjukkan penerapan aturan tersebut.Branch Name
Aturan yang Cocok
Aturan yang Berlaku
master-1
master-*, master-1
master-1
master-2
master-*
master-*
master-prod-1
master-*, master-prod-*
master-*
Langkah 2: Konfigurasikan push rules
Tentukan role dan anggota yang diizinkan melakukan push langsung ke protected branch ini.
Role yang diizinkan: Secara default, role manager dan developer diizinkan melakukan push. Untuk memblokir role dari push, hapus centangnya. Jika Anda memilih
None, tidak ada yang dapat melakukan push ke branch tersebut.Anggota yang diizinkan: Anda dapat memberikan akses push kepada anggota tertentu dari repositori kode. Anggota yang dipilih harus memiliki izin write untuk repositori kode tersebut.
Langkah 3: Konfigurasikan aturan penggabungan
Tentukan role dan anggota yang diizinkan melakukan merge terhadap merge request.
Role yang diizinkan: Secara default, role manager dan developer diizinkan melakukan merge. Untuk memblokir role dari merge, hapus centangnya.
Anggota yang diizinkan: Anda dapat memberikan izin merge kepada anggota tertentu dari repositori kode. Anggota yang dipilih harus memiliki izin write untuk repositori kode tersebut.
Izin untuk role dan anggota individu digabungkan. Misalnya, jika Anda hanya mengizinkan role manager untuk push tetapi juga secara eksplisit mengizinkan seorang developer bernama User A, maka baik manager maupun User A dapat melakukan push ke protected branch tersebut, meskipun User A bukan manager.
Langkah 4: Konfigurasikan aturan persetujuan
Konfigurasikan aturan persetujuan manual

Anda dapat menetapkan kondisi berikut untuk tinjauan kode:
Izinkan pembuat untuk menyetujui: Ya / Tidak.
Wajibkan semua komentar tinjauan kode diselesaikan sebelum merge.
Dua mode persetujuan tersedia:
Mode umum:
Jumlah minimum approver yang diperlukan: 1.
Role yang diizinkan menyetujui: manager + developer.
Reviewer default: bagian ini disembunyikan jika tidak ada reviewer yang ditentukan. Anda dapat menambahkan hingga 20 reviewer.
Mode CodeOwner:
Untuk informasi selengkapnya tentang CodeOwner, lihat CodeOwner Mechanism.
Konfigurasikan aturan pemeriksaan otomatis
Code scanning
Merge request tidak dapat diblokir oleh pemeriksaan ini kecuali tugas code scanning diaktifkan. Untuk detail konfigurasi, lihat Use the code detection service.

Setelah Anda mengaktifkan tugas code scanning, Anda dapat mewajibkannya sebagai merge gate.

Pipeline check
Untuk protected branch, Anda dapat mengintegrasikannya dengan pipeline Flow untuk menambahkan merge gate pada merge request.

Jika repositori kode belum dikaitkan dengan pipeline, buka Alibaba Cloud DevOps Flow untuk membuat atau mengaitkan pipeline. Lihat How to associate a Flow pipeline.
PentingUntuk memicu pipeline check secara otomatis pada setiap commit kode, pilih event pemicu code commit saat membuat pipeline. Jika tidak, Anda harus memicu pipeline secara manual untuk mendapatkan hasil pemeriksaan, karena hasil tersebut diperlukan agar merge request lolos.

Setelah Anda mengaitkan pipeline, Anda dapat memilihnya di sini untuk digunakan sebagai merge gate.

Pipeline yang dipilih menjadi pemeriksaan wajib untuk setiap merge request yang ditujukan ke protected branch ini. Pipeline tersebut harus lolos sebelum request dapat di-merge.
PentingPastikan pipeline yang ditetapkan sebagai merge gate telah berhasil dijalankan setidaknya satu kali.