如果您的 Secure Source Manager 实例尚未创建,请参阅 创建 Secure Source Manager 实例以开始使用 。
准备工作
- 创建 Secure Source Manager 实例或请求访问权限。如需了解详情,请参阅创建 Secure Source Manager 实例。
-
安装 Google Cloud CLI。
-
如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init - 安装
betaGoogle 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 凭据进行身份验证。
点击 导航菜单右上角的 + Create new repository 图标。
填写代码库详细信息:
代码库 ID:输入代码库的名称。
说明:可选。代码库的说明。
默认分支:默认分支的名称。
初始化代码库:可选。如果您想初始化代码库并添加 .gitignore、许可和 README 文件,请选择此选项。
.gitignore:可选。使用下拉菜单模板选择要不 跟踪的文件。
许可:可选。从下拉菜单中选择一个常用许可。
点击创建代码库 。
gcloud
如需使用 gcloud CLI 创建代码库,请运行以下命令:
gcloud 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 网页界面支持代码审核、问题跟踪和拉取请求。
代码库是在 Secure Source Manager 实例中创建的。
创建新代码库时,系统会向您授予 Repo Admin 角色 (roles/securesourcemanager.repoAdmin)。新的 IAM 权限可能需要长达 2 分钟才能传播,因此如果您在创建后尝试访问代码库时收到权限错误,请等待几分钟,然后重试。
您创建的代码库会列在 Secure Source Manager 网页界面中的我的代码库 页面上。
后续步骤
- 向用户授予代码库访问权限
- 将 Git 源代码管理 与 Secure Source Manager 结合使用。
- 列出和查看代码库 在 Secure Source Manager 网页界面中。