选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

创建包含多个输入和输出的构建项目

聚焦模式
创建包含多个输入和输出的构建项目 - AWS CodeBuild

按照以下过程来创建包含多个输入和输出的构建项目。

创建包含多个输入和输出的构建项目
  1. 将源上传到一个或多个 S3 存储桶、CodeCommit、GitHub、GitHub Enterprise Server 或 Bitbucket 存储库。

  2. 选择一个源作为主要源。此源供 CodeBuild 查找和运行 buildspec 文件。

  3. 创建构建项目。有关更多信息,请参阅 在 AWS CodeBuild 中创建构建项目

  4. 创建构建项目、运行构建和获取有关构建的信息。

  5. 如果使用 AWS CLI 创建构建项目,则 create-project 命令的 JSON 格式输入可能类似于以下内容:

    { "name": "sample-project", "source": { "type": "S3", "location": "<bucket/sample.zip>" }, "secondarySources": [ { "type": "CODECOMMIT", "location": "https://git-codecommit.us-west-2.amazonaws.com/v1/repos/repo", "sourceIdentifier": "source1" }, { "type": "GITHUB", "location": "https://github.com/awslabs/aws-codebuild-jenkins-plugin", "sourceIdentifier": "source2" } ], "secondaryArtifacts": [ss { "type": "S3", "location": "<output-bucket>", "artifactIdentifier": "artifact1" }, { "type": "S3", "location": "<other-output-bucket>", "artifactIdentifier": "artifact2" } ], "environment": { "type": "LINUX_CONTAINER", "image": "aws/codebuild/standard:5.0", "computeType": "BUILD_GENERAL1_SMALL" }, "serviceRole": "arn:aws:iam::account-ID:role/role-name", "encryptionKey": "arn:aws:kms:region-ID:account-ID:key/key-ID" }

主要源在 source 属性下定义。所有其他源都称为辅助源,出现在 secondarySources 下方。所有辅助源都安装在各自的目录中。目录存储在内置环境变量 CODEBUILD_SRC_DIR_sourceIdentifer 中。有关更多信息,请参阅 构建环境中的环境变量

secondaryArtifacts 属性包含构件定义列表。这些构件使用 buildspec 文件的 secondary-artifacts 块(嵌套在 artifacts 块内)。

buildspec 文件中的辅助构件与构件具有相同的结构,以其构件标识符分隔。

注意

CodeBuild API 中,辅助构件的 artifactIdentifierCreateProjectUpdateProject 中的必需属性。必须使用它引用辅助构件。

使用前面的 JSON 格式的输入,项目的 buildspec 文件可能如下所示:

version: 0.2 phases: install: runtime-versions: java: openjdk11 build: commands: - cd $CODEBUILD_SRC_DIR_source1 - touch file1 - cd $CODEBUILD_SRC_DIR_source2 - touch file2 artifacts: files: - '**.*' secondary-artifacts: artifact1: base-directory: $CODEBUILD_SRC_DIR_source1 files: - file1 artifact2: base-directory: $CODEBUILD_SRC_DIR_source2 files: - file2

可以在 StartBuild 中使用具有 sourceVersion 属性的 API 覆盖主要源的版本。要覆盖一个或多个辅助源版本,请使用 secondarySourceVersionOverride 属性。

AWS CLI 中 start-build 命令的 JSON 格式输入可能类似于以下内容:

{ "projectName": "sample-project", "secondarySourcesVersionOverride": [ { "sourceIdentifier": "source1", "sourceVersion": "codecommit-branch" }, { "sourceIdentifier": "source2", "sourceVersion": "github-branch" }, ] }
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。