Buat repositori

Halaman ini menjelaskan cara membuat repositori menggunakan antarmuka web Secure Source Manager atau Secure Source Manager API.

Jika instance Secure Source Manager Anda belum dibuat, lihat Membuat instance Secure Source Manager untuk memulai.

Sebelum memulai

  1. Buat atau minta akses ke instance Secure Source Manager. Untuk mengetahui informasi selengkapnya, lihat Membuat instance Secure Source Manager.
  2. Install the Google Cloud CLI.

  3. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  4. To initialize the gcloud CLI, run the following command:

    gcloud init
  5. Instal komponen beta Google Cloud CLI:
    gcloud components install alpha

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk membuat repositori, minta administrator untuk memberi Anda peran IAM berikut:

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran kustom atau peran yang telah ditentukan lainnya.

Untuk mengetahui informasi tentang cara memberikan peran Secure Source Manager, lihat Kontrol akses dengan IAM dan Memberikan akses instance kepada pengguna.

Membuat repositori

Antarmuka web

  1. Untuk mengakses instance Secure Source Manager melalui antarmuka webnya, salin URL berikut ke kolom alamat browser Anda.

    INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.dev

    Ganti 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.

  2. Lakukan autentikasi menggunakan kredensial Secure Source Manager Anda jika diperlukan.

  3. Klik ikon + Buat repositori baru di kanan atas menu navigasi.

  4. Isi detail repositori:

    1. ID repositori: Masukkan nama untuk repositori.

    2. Deskripsi: opsional. Deskripsi repositori.

    3. Initialize repository: Opsional. Pilih opsi ini jika Anda ingin menginisialisasi repositori dan menambahkan file .gitignore, lisensi, dan README.

    4. .gitignore: Opsional. Pilih file yang tidak dilacak menggunakan template menu drop-down.

    5. license: Opsional. Pilih lisensi umum dari menu drop-down.

    6. Cabang default: Nama cabang default.

  5. Klik Kirim.

gcloud

  1. Buat repositori menggunakan gcloud CLI dengan menjalankan perintah berikut:

    gcloud alpha 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
    

    Ganti kode berikut:

    • REPOSITORY_ID dengan nama untuk repositori Anda.

    • LOCATION dengan region tempat Anda ingin membuat repositori. Untuk mengetahui informasi tentang lokasi yang didukung, lihat Lokasi.

    • PROJECT_ID dengan project ID instance Secure Source Manager tempat Anda ingin membuat repositori.

    • INSTANCE_ID dengan ID instance tempat Anda membuat repositori. Untuk mencantumkan instance Secure Source Manager di project Anda, lihat Mencantumkan dan melihat instance.

    • DESCRIPTION dengan deskripsi repositori. Tindakan ini bersifat opsional dan dapat dihilangkan.

    • BRANCH dengan nama cabang default. Kolom ini bersifat opsional dan dapat dihilangkan. Nama cabang default jika tidak ditetapkan adalah main.

    • GITIGNORES dengan 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.

    • LICENSE dengan 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.

    • README dengan default untuk membuat file README dari template default. Tindakan ini bersifat opsional dan dapat dihilangkan. Jika dihilangkan, file README tidak akan dibuat.

API

  1. 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"}'
    

    Ganti kode berikut:

    • REGION adalah region instance Secure Source Manager Anda. Untuk mengetahui informasi tentang lokasi yang didukung, lihat Lokasi.
    • INSTANCE_ID adalah ID instance Secure Source Manager Anda.
    • PROJECT_ID adalah project ID instance Secure Source Manager Anda. Lihat Mengidentifikasi project untuk mengetahui informasi tentang tempat menemukan project ID Anda.
    • REPOSITORY_ID adalah nama repositori Anda.

    Nilai tambahan dapat ditentukan menggunakan tanda data HTTP POST, -d'{}' termasuk menginisialisasi repositori, menambahkan file .gitignore tertentu, atau lisensi. Lihat Dokumentasi referensi untuk mengetahui informasi selengkapnya.

    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", "initialConfig":{"defaultBranch":"main"}}' | json_pp
    

    Responsnya 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",
        "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:

    • 654987321654 adalah nomor project repositori.
    • my-project-id adalah project ID repositori.
    • my-repo adalah REPOSITORY_ID yang Anda tetapkan dalam perintah pembuatan. Kolom uris berisi URL untuk mengakses repositori melalui browser web atau melalui akses HTTPS protokol Git.
  2. Akses repositori baru Anda dengan URI HTML dalam respons. Peninjauan kode, pelacakan masalah, dan permintaan pull didukung di antarmuka web Secure Source Manager.

Repositori dibuat di instance Secure Source Manager Anda.

Peran Admin Repo (roles/securesourcemanager.repoAdmin) diberikan kepada Anda saat Anda membuat repositori baru. 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.

Langkah berikutnya