本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
此构建操作允许您在源代码发生更改时自动构建和推送新映像。此操作基于指定的 Docker 文件位置生成并推送镜像。此构建操作与中的 Amazon ECR 源操作不同 CodePipeline,后者会在您的 Amazon ECR 源存储库发生更改时触发管道。有关该操作的信息,请参阅Amazon ECR 源操作参考。
这不是触发管道的源操作。此操作会生成映像并将其推送到您的 Amazon ECR 映像存储库。
在将操作添加到管道之前,您必须已经创建了 Amazon ECR 存储库并已将 Dockerfile 添加到源代码存储库中 GitHub,例如。
重要
此操作使用 CodePipeline 托管 CodeBuild 计算在构建环境中运行命令。运行 Commands 操作将在 AWS CodeBuild中产生单独的费用。
操作类型
-
类别:
Build
-
拥有者:
AWS
-
提供方:
ECRBuildAndPublish
-
版本:
1
配置参数
- ECRRepository名称
-
必需:是
推送映像的 Amazon ECR 存储库的名称。
- DockerFilePath
-
必需:否
用于构建镜像的 Docker 文件的位置。或者,如果不是在根级别,则可以提供备用 docker 文件位置。
注意
如果未指定值,则该值默认为源存储库根级别。
DockerFilePath
- ImageTags
-
必需:否
用于图像的标签。您可以以逗号分隔的字符串列表的形式输入多个标签。
注意
如果未指定
ImageTags
的值,则该值默认为latest
。 - RegistryType
-
必需:否
指定存储库是公共的还是私有的。有效值为
private | public
。注意
如果未指定
RegistryType
的值,则该值默认为private
。
输入构件
-
构件数:
1
-
描述:源操作生成的工件,其中包含构建镜像所需的 Dockerfile。
输出构件
-
构件数:
0
输出变量
配置后,此操作会生成变量,该变量可由管道中下游操作的操作配置引用。此操作生成的变量可视为输出变量,即使操作没有命名空间也是如此。您可以使用命名空间配置操作,以使这些变量可用于下游操作的配置。
有关更多信息,请参阅 变量参考。
- ECRImageDigestId
-
映像清单的
sha256
摘要。 - ECRRepository名称
-
向其中推送映像的 Amazon ECR 存储库的名称。
操作声明
name: ECRBuild
actionTypeId:
category: Build
owner: AWS
provider: ECRBuildAndPublish
version: '1'
runOrder: 1
configuration:
ECRRepositoryName: actions/my-imagerepo
outputArtifacts: []
inputArtifacts:
- name: SourceArtifact
region: us-east-1
namespace: BuildVariables
另请参阅
下列相关资源在您使用此操作的过程中会有所帮助。
-
教程:使用以下命令构建 Docker 镜像并将其推送到亚马逊 ECR CodePipeline— 本教程提供了示例 Dockerfile 和创建管道的说明,该管道用于在源存储库发生更改时将您的映像推送到 ECR,然后部署到 Amazon ECS。