如果您的 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 Instance Repository Creator 角色 (
roles/securesourcemanager.instanceRepositoryCreator
) -
实例项目的 Secure Source Manager Repo Creator 角色 (
roles/securesourcemanager.repoCreator
)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
如需了解如何授予 Secure Source Manager 角色,请参阅使用 IAM 进行访问权限控制和向用户授予实例访问权限。
创建代码库
网页界面
-
如需通过网页界面访问 Secure Source Manager 实例,请将以下网址复制到浏览器地址栏中。
INSTANCE_ID-PROJECT_NUMBER.LOCATION.sourcemanager.dev
替换以下内容:
- 将 INSTANCE_ID 替换为实例名称。
- 将 PROJECT_NUMBER 替换为实例的 Google Cloud项目编号。如需了解如何标识项目,请参阅标识项目。
- 将 LOCATION 替换为实例的区域。
根据需要使用 Secure Source Manager 凭据进行身份验证。
点击导航菜单右上角的 + 创建新代码库图标。
填写代码库详细信息:
代码库 ID:输入代码库的名称。
说明:可选。 代码库的说明。
初始化代码库:可选。如果您想初始化代码库并添加 .gitignore、许可和 README 文件,请选择此选项。
.gitignore:可选。使用下拉菜单模板选择要不跟踪哪些文件。
许可:可选。从下拉菜单中选择一个通用许可。
默认分支:默认分支的名称。
点击提交。
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
字段包含通过 Web 浏览器或通过 Git 协议 HTTPS 访问代码库的网址。
使用响应中的 HTML URI 访问新代码库。Secure Source Manager 网页界面支持代码审核、问题跟踪和 pull request。
代码库是在您的 Secure Source Manager 实例中创建的。
创建新制品库时,系统会向您授予 Repo Admin 角色 (roles/securesourcemanager.repoAdmin
)。新的 IAM 权限可能需要长达 2 分钟才能传播完毕,因此如果您在创建仓库后尝试访问该仓库时收到权限错误,请等待几分钟,然后重试。
您创建的代码库会显示在 Secure Source Manager 网页界面中的我的代码库页面上。
后续步骤
- 向用户授予代码库访问权限
- 将 Git 源代码管理与 Secure Source Manager 搭配使用。
- 在 Secure Source Manager 网页界面中列出和查看代码库。