建立及複製存放區

在 Secure Source Manager 中建立存放區,並複製到本機。

事前準備

  1. 建立或要求 Secure Source Manager 執行個體的存取權。詳情請參閱「建立 Secure Source Manager 執行個體」。
  2. 安裝 Google Cloud CLI。

  3. 設定 gcloud CLI,使用您的聯合身分。

    詳情請參閱「 使用聯合身分登入 gcloud CLI」。

  4. 執行下列指令,初始化 gcloud CLI:

    gcloud init

必要的角色

如要取得建立存放區所需的權限,請要求管理員授予您下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

如要瞭解如何授予 Secure Source Manager 角色,請參閱「使用 IAM 控管存取權」和「授予使用者執行個體存取權」。

建立存放區

網頁介面

  1. 如要透過網頁介面存取 Secure Source Manager 執行個體,請將下列網址複製到瀏覽器網址列。

    INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.dev

    請替換下列項目:

    • INSTANCE_ID:執行個體名稱。
    • PROJECT_NUMBER 換成執行個體的 Google Cloud 專案編號。如要瞭解如何識別專案,請參閱「識別專案」。
    • LOCATION:執行個體所在的區域。

  2. 視需要使用 Secure Source Manager 憑證進行驗證。

  3. 按一下導覽選單中的「+ 建立新的存放區」圖示。

  4. 填寫存放區詳細資料:

    1. 存放區 ID:輸入存放區名稱。

    2. 說明:(選用) 輸入存放區說明。

    3. Default branch:預設分支版本的名稱。

  5. Initialize repository (初始化存放區):選用:如要初始化存放區並新增 .gitignore、授權和 README 檔案,請選取這個選項。

  6. .gitignore:選用:使用下拉式選單範本,選擇「不」追蹤哪些檔案。

  7. license:選用。從下拉式選單中選取常見授權。

  8. 點選「Create Repository」(建立存放區)。

系統會在 Secure Source Manager 執行個體中建立存放區。

建立新的存放區時,您會獲得存放區管理員角色 (roles/securesourcemanager.repoAdmin)。新的 IAM 權限最多可能需要 2 分鐘才會生效,因此,如果您在建立存放區後嘗試存取時收到權限錯誤,請稍候幾分鐘再試一次。

您建立的存放區會列在 Secure Source Manager 網頁介面的「My repositories」(我的存放區) 頁面。

設定憑證

執行下列指令,將 Secure Source Manager 驗證輔助程式新增至全域 Git 設定:

Linux

git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.sh

舊版 Git 可能不支援萬用字元。如要新增驗證輔助程式 (不含萬用字元),請執行下列指令:

git config --global credential.'https://INSTANCE_ID-PROJECT_NUMBER-git.LOCATION.sourcemanager.dev'.helper gcloud.sh

Windows

git config --global credential.https://*.*.sourcemanager.dev.helper gcloud.cmd

舊版 Git 可能不支援萬用字元。如要新增驗證輔助程式 (不含萬用字元),請執行下列指令:

git config --global credential.https://INSTANCE_ID-PROJECT_NUMBER-git.LOCATION.sourcemanager.dev.helper gcloud.cmd

更改下列內容:

  • 將 INSTANCE_ID 替換成 Secure Source Manager 執行個體名稱。
  • PROJECT_NUMBER 替換為專案編號。如需找出專案編號的說明,請參閱「識別專案」。
  • LOCATION 替換為執行個體的區域。如要進一步瞭解區域,請參閱「位置」。

使用 Secure Source Manager 執行 Git 指令時,驗證輔助程式會透過 gcloud CLI 擷取您的Google Cloud 憑證。

如要在初始憑證設定後重新驗證,請執行下列 gcloud CLI 指令:

gcloud auth login

複製存放區

  1. 在 Secure Source Manager 網頁介面中,前往存放區頁面。

  2. 複製存放區頁面頂端的 HTTPS 網址。

  3. 執行下列指令,複製存放區:

    git clone REPOSITORY_URL
    

    其中 REPOSITORY_URL 是要複製的存放區頁面頂端顯示的 HTTPS 網址。

    請忽略複製空存放區的警告。

推送至存放區

  1. 在終端機視窗中,將目錄變更為複製的存放區。

    cd REPOSITORY_NAME
    

    其中 REPOSITORY_NAME 是存放區名稱。

  2. 建立空白的 README 檔案:

    touch README.md
    
  3. 將 README 檔案新增至 Git,並建立修訂版本訊息:

    git add README.md
    git commit -m "initial commit"
    
  4. 將變更推送至遠端存放區:

    git push -u origin main
    

    Git 會將檔案從主要分支版本推送至原始遠端存放區。輸出結果大致如下:

    Enumerating objects: 3, done.
    Counting objects: 100% (3/3), done.
    Writing objects: 100% (3/3), 211 bytes | 211.00 KiB/s, done.
    Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
    remote: . Processing 1 references
    remote: Processed 1 references in total
    To https://instance-id-123456789012-git.us-central1.sourcemanager.dev/my-project/my-repo.git
    * [new branch]      main -> main
    branch 'main' set up to track 'origin/main'.
    

在 Secure Source Manager 中查看檔案

在 Secure Source Manager 網頁介面中,按一下存放區名稱。

存放區頁面隨即開啟,README.md 檔案會列在「<> Code」分頁中。

清除所用資源

為了避免系統向您的 Google Cloud 帳戶收取本頁面所用資源的費用,請按照下列步驟操作。

移除存放區之前,請先確認要保留的檔案均已存放於其他位置。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:執行 Secure Source Manager 的 Google Cloud 專案 ID。
  • LOCATION:執行個體所在的區域。如要瞭解支援的位置,請參閱「位置」。
  • REPOSITORY_ID:存放區 ID。

HTTP 方法和網址:

DELETE https://securesourcemanager.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/REPOSITORY_ID

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

"name":"operations/cc3ea26c-9b57-11ed-be0a-2e3b5910efef","metadata":{"@type":"type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata","createTime":"2023-01-23T19:54:49.904779921Z","endTime":"2023-01-23T19:54:50.947030402Z","target":"projects/my-project/locations/us-central1/repositories/my-repo","verb":"delete","apiVersion":"v1"},"done":true,"response":{"@type":"type.googleapis.com/google.protobuf.Empty"}
```

回應大致如下:

{"name":"operations/cc3ea26c-9b57-11ed-be0a-2e3b5910efef","metadata":{"@type":"type.googleapis.com/google.cloud.securesourcemanager.v1.OperationMetadata","createTime":"2023-01-23T19:54:49.904779921Z","endTime":"2023-01-23T19:54:50.947030402Z","target":"projects/my-project/locations/us-central1/repositories/my-repo","verb":"delete","apiVersion":"v1"},"done":true,"response":{"@type":"type.googleapis.com/google.protobuf.Empty"}

後續步驟