Jika instance Secure Source Manager Anda belum dibuat, lihat Membuat instance Secure Source Manager untuk mulai menggunakannya.
Sebelum memulai
- Buat atau minta akses ke instance Secure Source Manager. Untuk mengetahui informasi selengkapnya, lihat Membuat instance Secure Source Manager.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init - Instal komponen
betaGoogle Cloud CLI:gcloud components install alpha
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk membuat repositori, minta administrator untuk memberi Anda peran IAM berikut:
- Peran Pembuat Repositori Instance Secure Source Manager (
roles/securesourcemanager.instanceRepositoryCreator) di instance Secure Source Manager - Peran Secure Source Manager Repo Creator (
roles/securesourcemanager.repoCreator) di project instance
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Untuk mengetahui informasi tentang cara memberikan peran Secure Source Manager, lihat Kontrol akses dengan IAM dan Memberi pengguna akses instance.
Membuat repositori
Antarmuka web
-
Untuk mengakses instance Secure Source Manager melalui antarmuka webnya, salin URL berikut ke kolom URL browser Anda.
INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.devGanti kode berikut:
- INSTANCE_ID dengan nama instance.
- PROJECT_NUMBER dengan nomor project Google Cloud instance. Untuk mengetahui informasi tentang cara mengidentifikasi project, lihat Mengidentifikasi project.
- LOCATION dengan region instance.
Lakukan autentikasi menggunakan kredensial Secure Source Manager Anda jika diperlukan.
Klik ikon + Create new repository di menu navigasi.
Isi detail repositori:
ID repositori: Masukkan nama untuk repositori.
Deskripsi: Opsional: Masukkan deskripsi repositori.
Cabang default: Nama cabang default.
Akun layanan: Opsional: Masukkan akun layanan yang akan dikaitkan dengan repositori. Akun layanan yang dikelola pengguna ini digunakan untuk integrasi seperti Cloud Build. Untuk mengetahui informasi selengkapnya, lihat Menghubungkan ke Cloud Build.
Inisialisasi repositori: Opsional: Pilih opsi ini jika Anda ingin menginisialisasi repositori dan menambahkan file .gitignore, lisensi, dan README.
.gitignore: Opsional: Pilih file yang tidak dilacak menggunakan template menu drop-down.
lisensi: Opsional: Pilih lisensi umum dari menu drop-down.
Klik Buat repositori.
gcloud
Buat repositori menggunakan gcloud CLI dengan menjalankan perintah berikut:
gcloud source-manager repos create REPOSITORY_ID \ --region=LOCATION \ --project=PROJECT_ID \ --instance=INSTANCE_ID \ --description=DESCRIPTION \ --default-branch=BRANCH \ --gitignores=GITIGNORES \ --license=LICENSE \ --readme=README \ --service-account=SERVICE_ACCOUNTGanti kode berikut:
REPOSITORY_IDdengan nama untuk repositori Anda.LOCATIONdengan region tempat Anda ingin membuat repositori. Untuk mengetahui informasi selengkapnya tentang lokasi yang didukung, lihat Lokasi.PROJECT_IDdengan project ID instance Secure Source Manager tempat Anda ingin membuat repositori.INSTANCE_IDdengan ID instance dari instance tempat Anda membuat repositori. Untuk mencantumkan instance Secure Source Manager di project Anda, lihat Mencantumkan dan melihat instance.DESCRIPTIONdengan deskripsi repositori. Tindakan ini bersifat opsional dan dapat dihilangkan.BRANCHdengan nama cabang default. Kolom ini bersifat opsional dan dapat dihilangkan. Nama cabang default jika tidak ditetapkan adalahmain.GITIGNORESdengan daftar nama template gitignore yang dipisahkan koma. Tindakan ini bersifat opsional dan dapat dihilangkan. Untuk melihat daftar lengkap template yang tersedia, lihat referensi konfigurasi inisialisasi repositori.LICENSEdengan nama template lisensi yang akan diterapkan ke repositori Anda. Tindakan ini bersifat opsional dan dapat dihilangkan. Untuk melihat daftar lengkap template lisensi yang tersedia, lihat referensi konfigurasi inisialisasi repositori.READMEdengandefaultuntuk membuat file README dari template default. Tindakan ini bersifat opsional dan dapat dihilangkan. Jika dihilangkan, file README tidak akan dibuat.SERVICE_ACCOUNTdengan alamat email akun layanan yang ingin Anda kaitkan dengan repositori. Kolom ini bersifat opsional dan dapat dihilangkan.
API
Buat repositori menggunakan panggilan REST dengan menjalankan perintah berikut:
curl \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://securesourcemanager.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/repositories?repository_id=REPOSITORY_ID \ -d '{ "instance": "projects/PROJECT_ID/locations/REGION/instances/INSTANCE_ID", "serviceAccount": "SERVICE_ACCOUNT" }'Ganti kode berikut:
REGIONdengan region instance Secure Source Manager Anda. Untuk mengetahui informasi selengkapnya tentang lokasi yang didukung, lihat Lokasi.INSTANCE_IDdengan ID instance Secure Source Manager Anda.PROJECT_IDdengan project ID instance Secure Source Manager Anda. Untuk mengetahui informasi selengkapnya tentang tempat menemukan project ID, lihat Mengidentifikasi project.REPOSITORY_IDdengan nama untuk repositori Anda.SERVICE_ACCOUNTdengan alamat email akun layanan yang ingin Anda kaitkan dengan repositori.
Nilai tambahan dapat ditentukan menggunakan tanda data HTTP POST,
-d'{}'termasuk menginisialisasi repositori, menambahkan file.gitignoretertentu, atau lisensi. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi.Jika ingin output Anda dapat dibaca manusia, Anda dapat menyalurkannya ke JSON menggunakan
json_pp.Contoh:
curl \ -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://securesourcemanager.googleapis.com/v1/projects/my-project-id/locations/us-central1/repositories?repository_id=my-repo \ -d '{ "instance": "projects/my-project-id/locations/us-central1/instances/prod-test-instance", "serviceAccount": "my-service-account@my-project-id.iam.gserviceaccount.com", "initialConfig": { "defaultBranch": "main" } }' | json_ppResponsnya akan terlihat seperti berikut:
{ "name": "operations/266bf4c7-13fe-11ed-be24-da823b7355d0", "metadata": { "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata", "createTime": "2022-08-04T14:02:59.810496928Z", "endTime": "2022-08-04T14:03:00.558354528Z", "target": "projects/654987321654/locations/us-central1/repositories/my-repo", "verb": "create", "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.securesourcemanager.v1.Repository", "name": "projects/my-project-id/locations/us-central1/repositories/my-repo", "instance": "projects/654987321654/locations/us-central1/instances/prod-test-instance", "serviceAccount": "my-service-account@my-project-id.iam.gserviceaccount.com", "createTime": "2022-08-04T14:03:00Z", "uris": { "html": "https://prod-test-instance-654987321654.us-central1.sourcemanager.dev/my-project-id/my-repo", "gitHttps": "https://prod-test-instance-654987321654-git.us-central1.sourcemanager.dev/my-project-id/my-repo.git" } }Dengan:
654987321654adalah nomor project repositori.my-project-idadalah project ID repositori.my-repoadalahREPOSITORY_IDyang Anda tetapkan dalam perintah pembuatan. Kolomurisberisi URL untuk mengakses repositori melalui browser web atau melalui akses HTTPS protokol Git.
Akses repositori baru Anda dengan HTML URI dalam respons. Peninjauan kode, pelacakan masalah, dan permintaan pull didukung di antarmuka web Secure Source Manager.
Repositori dibuat di instance Secure Source Manager Anda.
Saat membuat repositori baru, Anda akan diberi peran Admin Repo
(roles/securesourcemanager.repoAdmin). Izin IAM baru
mungkin memerlukan waktu hingga 2 menit untuk diterapkan, jadi jika Anda mendapatkan error izin saat
mencoba mengakses repositori setelah pembuatan, tunggu beberapa menit dan coba
lagi.
Repositori yang telah Anda buat tercantum di antarmuka web Secure Source Manager di halaman Repositori saya.
Memperbarui repositori
Antarmuka web
- Buka halaman repositori di antarmuka web Secure Source Manager.
- Klik Setelan repositori di menu navigasi.
- Di bagian Setelan dasar, masukkan alamat email akun layanan di kolom Akun layanan.
- Klik Simpan perubahan.
gcloud
Untuk memperbarui akun layanan repositori, jalankan perintah berikut:
gcloud source-manager repos update REPOSITORY_ID \ --region=LOCATION \ --project=PROJECT_ID \ --service-account=SERVICE_ACCOUNTGanti kode berikut:
REPOSITORY_IDdengan nama repositori yang ingin Anda perbarui.LOCATIONdengan region tempat repositori berada.PROJECT_IDdengan project ID.SERVICE_ACCOUNTdengan alamat email akun layanan yang ingin Anda kaitkan dengan repositori.
API
Untuk memperbarui akun layanan repositori menggunakan panggilan REST, jalankan perintah berikut:
curl --request PATCH \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://securesourcemanager.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/repositories/REPOSITORY_ID?updateMask=serviceAccount \ -d '{"serviceAccount": "SERVICE_ACCOUNT"}'Ganti kode berikut:
PROJECT_IDdengan project ID.REGIONdengan region.REPOSITORY_IDdengan ID repositori.SERVICE_ACCOUNTdengan email akun layanan.
Langkah berikutnya
- Memberikan akses repositori kepada pengguna
- Gunakan pengelolaan kode sumber Git dengan Secure Source Manager.
- Mencantumkan dan melihat repositori di antarmuka web Secure Source Manager.