Secure Source Manager インスタンスがまだ作成されていない場合は、Secure Source Manager インスタンスを作成するをご覧ください。
始める前に
- Secure Source Manager インスタンスを作成するか、アクセス権をリクエストします。詳細については、Secure Source Manager インスタンスを作成するをご覧ください。
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
beta
Google Cloud CLI コンポーネントをインストールします。gcloud components install alpha
必要なロール
リポジトリの作成に必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
-
Secure Source Manager インスタンスに対する Secure Source Manager インスタンス リポジトリ作成者のロール (
roles/securesourcemanager.instanceRepositoryCreator
) -
インスタンス プロジェクトに対する Secure Source Manager リポジトリ作成者ロール (
roles/securesourcemanager.repoCreator
)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
Secure Source Manager のロールの付与については、IAM によるアクセス制御とユーザーにインスタンスへのアクセス権を付与するをご覧ください。
リポジトリを作成する
ウェブ インターフェース
-
ウェブ インターフェースから Secure Source Manager インスタンスにアクセスするには、次の URL をブラウザのアドレスバーにコピーします。
INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.dev
次のように置き換えます。
- INSTANCE_ID は、インスタンス名に置き換えます。
- PROJECT_NUMBER は、インスタンスの Google Cloudプロジェクト番号に置き換えます。プロジェクトの識別については、プロジェクトの識別をご覧ください。
- LOCATION は、インスタンスのリージョンに置き換えます。
必要に応じて、Secure Source Manager の認証情報を使用して認証します。
ナビゲーション メニューの右上にある [+ 新しいリポジトリを作成] アイコンをクリックします。
リポジトリの詳細を入力します。
リポジトリ ID: リポジトリの名前を入力します。
説明: 省略可。リポジトリの説明。
リポジトリを初期化する: 省略可。リポジトリを初期化して .gitignore、ライセンス、README ファイルを追加する場合は、このオプションを選択します。
.gitignore: 省略可。プルダウン メニュー テンプレートを使用して、トラッキングしないファイルを指定します。
license: 省略可。プルダウン メニューから共通ライセンスを選択します。
デフォルトのブランチ: デフォルトのブランチの名前。
[送信] をクリックします。
gcloud
次のコマンドを実行して、gcloud CLI を使用してリポジトリを作成します。
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
次のように置き換えます。
REPOSITORY_ID
は、リポジトリの名前に置き換えます。LOCATION
は、リポジトリを作成するリージョンに置き換えます。サポートされているロケーションについては、ロケーションをご覧ください。PROJECT_ID
は、リポジトリを作成する Secure Source Manager インスタンスのプロジェクト ID に置き換えます。INSTANCE_ID
は、リポジトリを作成するインスタンスのインスタンス ID に置き換えます。プロジェクト内の Secure Source Manager インスタンスの一覧を取得するには、インスタンスの一覧表示と表示をご覧ください。DESCRIPTION
は、リポジトリの説明に置き換えます。これは省略可能です。BRANCH
は、デフォルトのブランチ名に置き換えます。これは省略可能です。設定されていない場合のデフォルトのブランチ名はmain
です。GITIGNORES
は、gitignore テンプレート名のカンマ区切りのリストに置き換えます。これは省略可能です。使用可能なテンプレートの完全なリストについては、リポジトリの初期化構成リファレンスをご覧ください。LICENSE
は、リポジトリに適用するライセンス テンプレートの名前に置き換えます。これは省略可能です。使用可能なライセンス テンプレートの完全なリストを表示するには、リポジトリの初期化構成リファレンスをご覧ください。README
とdefault
を使用して、デフォルトのテンプレートから README ファイルを作成します。これは省略可能です。省略すると、README ファイルは作成されません。
API
次のコマンドを実行して、REST 呼び出しを使用してリポジトリを作成します。
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"}'
次のように置き換えます。
REGION
は、Secure Source Manager インスタンスのリージョンです。サポートされているロケーションについては、ロケーションをご覧ください。INSTANCE_ID
は、Secure Source Manager インスタンス ID です。PROJECT_ID
は、Secure Source Manager インスタンスのプロジェクト ID です。プロジェクト ID の確認方法については、プロジェクトの識別をご覧ください。REPOSITORY_ID
はリポジトリの名前です。
HTTP POST データフラグ
-d'{}'
を使用して、追加の値を指定できます。これには、リポジトリの初期化、特定の.gitignore
ファイルの追加、ライセンスなどが含まれます。詳細については、リファレンス ドキュメントをご覧ください。出力を人間が読めるようにする場合は、
json_pp
を使用して JSON にパイプできます。次に例を示します。
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
レスポンスは次のようになります。
{ "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" } }
ここで
654987321654
はリポジトリ プロジェクト番号です。my-project-id
は、リポジトリ プロジェクト ID です。my-repo
は、作成コマンドで設定したREPOSITORY_ID
です。uris
フィールドには、ウェブブラウザまたは Git プロトコル HTTPS アクセスを介してリポジトリにアクセスするための URL が含まれています。
レスポンスの HTML URI を使用して、新しいリポジトリにアクセスします。コードレビュー、問題の追跡、pull リクエストは、Secure Source Manager ウェブ インターフェースでサポートされています。
リポジトリは Secure Source Manager インスタンスに作成されます。
新しいリポジトリを作成すると、リポジトリ管理者ロール(roles/securesourcemanager.repoAdmin
)が付与されます。新しい IAM 権限が反映されるまでに最大 2 分かかることがあります。作成後にリポジトリにアクセスしようとしたときに権限エラーが発生した場合は、数分待ってからもう一度お試しください。
作成したリポジトリは、Secure Source Manager ウェブ インターフェースの [マイ リポジトリ] ページに表示されます。
次のステップ
- ユーザーにリポジトリへのアクセス権を付与する
- Secure Source Manager で Git ソースコード管理を使用します。
- Secure Source Manager ウェブ インターフェースでリポジトリを一覧表示して表示します。