本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
更新 buildspec 文件中的运行时版本
您可以通过更新 buildspec 文件的 runtime-versions 部分,将项目使用的运行时修改到新版本。以下示例说明如何指定 Java 版本 8 和 11。
- 
                一个 runtime-versions部分,指定 Java 版本 8:phases: install: runtime-versions: java: corretto8
- 
                一个 runtime-versions部分,指定 Java 版本 11:phases: install: runtime-versions: java: corretto11
以下示例说明如何使用 Ubuntu 标准映像 5.0 或 Amazon Linux 2 标准映像 3.0 指定不同版本的 Python:
- 
                一个 runtime-versions部分,指定 Python 版本 3.7:phases: install: runtime-versions: python: 3.7
- 
                一个 runtime-versions部分,指定 Python 版本 3.8:phases: install: runtime-versions: python: 3.8
本示例演示一个项目,该项目从 Java 版本 8 运行时开始,然后更新到 Java 版本 10 运行时。
- 
                下载并安装 Maven。有关信息,请参阅 Apache Maven 网站上的下载 Apache Maven 和安装 Apache Maven 。 
- 
                切换到您的本地计算机或实例上的空目录,然后运行此 Maven 命令。 mvn archetype:generate "-DgroupId=com.mycompany.app" "-DartifactId=ROOT" "-DarchetypeArtifactId=maven-archetype-webapp" "-DinteractiveMode=false"如果成功,将创建此目录结构和文件。 . └── ROOT ├── pom.xml └── src └── main ├── resources └── webapp ├── WEB-INF │ └── web.xml └── index.jsp
- 
                使用以下内容创建名为 buildspec.yml的文件。将此文件存储到(root directory name)/my-web-appversion: 0.2 phases: install: runtime-versions: java: corretto8 build: commands: - java -version - mvn package artifacts: files: - '**/*' base-directory: 'target/my-web-app'在 buildspec 文件中: - 
                        runtime-versions部分指定项目使用 Java 运行时版本 8。
- 
                        - java -version命令显示您的项目在执行构建时所使用的 Java 版本。
 您的文件结构现在应如下所示。 (root directory name)└── my-web-app ├── src │ ├── main │ ├── resources │ └── webapp │ └── WEB-INF │ └── web.xml │ └── index.jsp ├── buildspec.yml └── pom.xml
- 
                        
- 
                将 my-web-app目录的内容上传到 S3 输入存储桶或 CodeCommit GitHub、或 Bitbucket 存储库。重要请不要上传 (root directory name)(root directory name)/my-web-app(root directory name)/my-web-app如果您使用的是 S3 输入存储桶,请确保创建一个包含目录结构和文件的 ZIP 文件,然后将其上传至输入存储桶。请不要将 (root directory name)(root directory name)/my-web-app(root directory name)/my-web-app
- 
                在 https://console.aws.amazon.com/codesuite/codebuild /home 中打开 Amazon CodeBuild 控制台。 
- 
                创建构建项目。有关更多信息,请参阅创建构建项目(控制台) 和运行构建(控制台)。除这些设置以外,将所有设置保留为默认值。 - 
                        对于环境: - 
                                对于环境映像,选择托管映像。 
- 
                                对于操作系统,选择 Amazon Linux 2。 
- 
                                对于运行时,选择标准。 
- 
                                对于图像,选择 aws/codebuild/amazonlinux-x 86_64-standards: 4.0。 
 
- 
                                
 
- 
                        
- 
                选择开始构建。 
- 
                在构建配置上,接受默认值,然后选择开始构建。 
- 
                当构建完成后,在构建日志选项卡上查看构建输出。您应该可以看到类似于如下所示的输出内容: [Container] Date Time Phase is DOWNLOAD_SOURCE [Container] Date Time CODEBUILD_SRC_DIR=/codebuild/output/src460614277/src [Container] Date Time YAML location is /codebuild/output/src460614277/src/buildspec.yml [Container] Date Time Processing environment variables [Container] Date Time Selecting 'java' runtime version 'corretto8' based on manual selections... [Container] Date Time Running command echo "Installing Java version 8 ..." Installing Java version 8 ... [Container] Date Time Running command export JAVA_HOME="$JAVA_8_HOME" [Container] Date Time Running command export JRE_HOME="$JRE_8_HOME" [Container] Date Time Running command export JDK_HOME="$JDK_8_HOME" [Container] Date Time Running command for tool_path in "$JAVA_8_HOME"/bin/* "$JRE_8_HOME"/bin/*;
- 
                使用 Java 版本 11 更新 runtime-versions部分:install: runtime-versions: java: corretto11
- 
                保存更改后,再次运行您的构建并查看构建输出。您应看到已安装的 Java 版本为 11。您应该可以看到类似于如下所示的输出内容: [Container] Date Time Phase is DOWNLOAD_SOURCE [Container] Date Time CODEBUILD_SRC_DIR=/codebuild/output/src460614277/src [Container] Date Time YAML location is /codebuild/output/src460614277/src/buildspec.yml [Container] Date Time Processing environment variables [Container] Date Time Selecting 'java' runtime version 'corretto11' based on manual selections... Installing Java version 11 ... [Container] Date Time Running command export JAVA_HOME="$JAVA_11_HOME" [Container] Date Time Running command export JRE_HOME="$JRE_11_HOME" [Container] Date Time Running command export JDK_HOME="$JDK_11_HOME" [Container] Date Time Running command for tool_path in "$JAVA_11_HOME"/bin/* "$JRE_11_HOME"/bin/*;