リポジトリを作成してクローンを作成する

Secure Source Manager にリポジトリを作成し、ローカルマシンにクローンを作成します。

始める前に

  1. Secure Source Manager インスタンスを作成するか、アクセス権をリクエストします。詳細については、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. alpha Google Cloud CLI コンポーネントをインストールします。
    gcloud components install alpha

必要なロール

リポジトリの作成に必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

Secure Source Manager のロールの付与については、IAM によるアクセス制御ユーザーにインスタンスへのアクセス権を付与するをご覧ください。

リポジトリを作成する

ウェブ インターフェース

  1. ウェブ インターフェースから Secure Source Manager インスタンスにアクセスするには、次の URL をブラウザのアドレスバーにコピーします。

    INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.dev

    次のように置き換えます。

    • INSTANCE_ID は、インスタンス名に置き換えます。
    • PROJECT_NUMBER は、インスタンスの Google Cloudプロジェクト番号に置き換えます。プロジェクトの識別については、プロジェクトの識別をご覧ください。
    • LOCATION は、インスタンスのリージョンに置き換えます。

  2. 必要に応じて、Secure Source Manager の認証情報を使用して認証します。

  3. ナビゲーション メニューの右上にある [+ 新しいリポジトリを作成] アイコンをクリックします。

  4. リポジトリの詳細を入力します。

    1. リポジトリ ID: リポジトリの名前を入力します。

    2. 説明: 省略可。リポジトリの説明。

    3. リポジトリを初期化する: 省略可。リポジトリを初期化して .gitignore、ライセンス、README ファイルを追加する場合は、このオプションを選択します。

    4. .gitignore: 省略可。プルダウン メニュー テンプレートを使用して、トラッキングしないファイルを指定します。

    5. license: 省略可。プルダウン メニューから共通ライセンスを選択します。

    6. デフォルトのブランチ: デフォルトのブランチの名前。

  5. [送信] をクリックします。

リポジトリは Secure Source Manager インスタンスに作成されます。

新しいリポジトリを作成すると、リポジトリ管理者ロール(roles/securesourcemanager.repoAdmin)が付与されます。新しい IAM 権限が反映されるまでに最大 2 分かかることがあります。作成後にリポジトリにアクセスしようとしたときに権限エラーが発生した場合は、数分待ってからもう一度お試しください。

作成したリポジトリは、Secure Source Manager ウェブ インターフェースの [マイ リポジトリ] ページに表示されます。

認証情報を設定する

次のコマンドを実行して、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 URL をコピーします。

  3. 次のコマンドを実行して、リポジトリのクローンを作成します。

    git clone REPOSITORY_URL
    

    ここで、REPOSITORY_URL はクローンを作成するリポジトリ ページの上部に表示される HTTPS URL です。

    空のリポジトリのクローンを作成したことを警告するメッセージは無視してください。

リポジトリに push する

  1. ターミナル ウィンドウで、ディレクトリをクローンしたリポジトリに変更します。

    cd REPOSITORY_NAME
    

    ここで、REPOSITORY_NAME はリポジトリ名です。

  2. 空の README ファイルを作成します。

    touch README.md
    
  3. README ファイルを Git に追加して、commit メッセージを作成します。

    git add README.md
    git commit -m "initial commit"
    
  4. 変更をリモート リポジトリに push します。

    git push -u origin main
    

    Git がメインブランチから origin リモートにファイルを push します。出力は次のようになります。

    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 ファイルが [<> コード] タブに表示されます。

クリーンアップ

このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、次の手順を実施します。

リポジトリを削除する前に、保持する必要があるファイルが別の場所で使用可能であることを確認してください。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: Secure Source Manager が実行されている Google Cloud プロジェクトのプロジェクト ID
  • LOCATION: インスタンスが配置されているリージョン。サポートされているロケーションについては、ロケーションをご覧ください。
  • REPOSITORY_ID: リポジトリ ID。

HTTP メソッドと URL:

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"}

次のステップ