步骤 2:创建 buildspec 文件 - Amazon CodeBuild
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

步骤 2:创建 buildspec 文件

(上一步:步骤 1:创建源代码

在此步骤中,您将创建一个构建规范 (build spec) 文件。buildspec 是一组生成命令和相关设置,采 CodeBuild 用 YAML 格式,用于运行构建。如果没有构建规范, CodeBuild 则无法成功地将您的构建输入转换为构建输出,也无法在构建环境中找到要上传到输出存储桶的构建输出项目。

创建此文件,将其命名为 buildspec.yml,然后保存在根(顶级)目录中。

version: 0.2 phases: install: runtime-versions: java: corretto11 pre_build: commands: - echo Nothing to do in the pre_build phase... build: commands: - echo Build started on `date` - mvn install post_build: commands: - echo Build completed on `date` artifacts: files: - target/messageUtil-1.0.jar
重要

因为 buildspec 声明必须为有效的 YAML,所以 buildspec 声明中的空格至关重要。如果 buildspec 声明中的空格数与此不匹配,则构建可能会立即失败。您可以使用 YAML 验证程序测试构建规范声明是否为效的 YAML。

注意

您可以在创建构建项目时单独声明构建命令,而不是将 buildspec 文件包含在源代码中。如果您需要使用其他构建命令来构建源代码,而不是每次更新源代码存储库,这个方法很有用。有关更多信息,请参阅buildspec 语法

在此构建规范声明中:

  • version 表示正在使用的构建规范标准的版本。此构建规范声明使用最新版本 0.2

  • phases 表示您可以指示 CodeBuild 运行命令的生成阶段。这些构建阶段包括 installpre_buildbuildpost_build。您无法更改这些构建阶段名称的拼写,也无法创建更多构建阶段名称。

    在本示例中,在该build阶段 CodeBuild 运行mvn install命令。此命令指示 Apache Maven 编译和测试 Java 类文件,然后将编译完的文件打包为构建输出构件。出于完整性考虑,本示例的每个构建阶段中都放了几条 echo 命令。您稍后查看本教程中详细的构建信息时,这些 echo 命令的输出可以帮助您更好地理解 CodeBuild 运行命令的方式以及顺序。(尽管本示例中包含了所有构建阶段,但如果您不打算在某个构建阶段运行任何命令,则无需包含该构建阶段。) 对于每个构建阶段,从头到尾按所列顺序逐一 CodeBuild 运行每个指定的命令。

  • artifacts表示 CodeBuild上传到输出存储桶的一组构建输出项目。 files表示要包含在生成输出中的文件。 CodeBuild 上传在构建环境的target相对目录中找到的单个messageUtil-1.0.jar文件。文件 messageUtil-1.0.jar 和目录 target 只是根据本示例中 Apache Maven 创建和存储构建输出构件的方式来命名的。在您自己的构建项目中,这些文件和目录名称会有所不同。

有关更多信息,请参阅Buildspec 参考

此时,您的目录结构应如下所示。

(root directory name) |-- pom.xml |-- buildspec.yml `-- src |-- main | `-- java | `-- MessageUtil.java `-- test `-- java `-- TestMessageUtil.java

后续步骤

步骤 3:创建两个 S3 存储桶