本示例模板是用于从Git拉取代码构建Docker镜像,并上传至ACR,适用于构建镜像并保存到镜像仓库的场景。该模板既支持您在已有ECS上构建,还支持临时开启一台ECS进行构建,构建完成后自动释放。此外,该模板支持上传到企业版ACR(收费)和个人版ACR(免费),为您提供多种选择方案。
前提条件
您已拥有企业版或个人版ACR。更多信息,请参见容器镜像服务ACR、个人版和企业版实例差异化说明、创建个人版实例。
示例模板流程
由您指定代码源(例如OSS对象存储或者Git),OOS将为代码源生成临时链接,用于后续代码拉取。
拉取代码,安装Docker并执行构建脚本。镜像构建完成后,连接ACR将镜像上传至指定仓库。
使用示例
代码源准备
本示例使用了一个Spring Boot的示例项目代码来演示,代码已上传到Gitee和GitHub仓库,如果想要使用,请先fork到自己的仓库。代码地址:
Gitee:gitee示例代码(中国内地建议使用Gitee)
Github:github示例代码(海外地区建议使用Github)
创建模板
登录系统运维管理控制台。
在左侧导航栏,选择
,单击创建模板。在构建部署区域,选择构建镜像至ACR,单击下一步。
在流程配置页签下,填写模板参数,然后单击创建模板。
指定您的代码源,为下一步拉取代码做准备,生成一个临时授权链接。
本示例以Gitee为代码源,填写该代码源的所有者、组织、仓库以及分支等参数。
如果您未授权阿里云从您的GitHub/Gitee读取您的代码仓库,请单击前往授权来完成授权操作。
如果您之前已经Fork示例代码,您只需下拉仓库,会自动展示您账号下所有仓库,请选择Fork的示例代码仓库。
构建Docker镜像,并上传到ACR。
指定代码源并选择构建的ECS,再按需提供构建配置脚本。
代码源和代码源链接:代码源选择
git
,代码源链接引用了上一个任务的输出(默认为authorizedUrl
。选择构建Ecs:需要选择构建的ECS,支持在已有ECS构建和新启动临时ECS构建两种方式。
选择新启动临时ECS构建方式,系统会以按量付费的方式产生费用。另外,OOS会自动检测ECS上是否已安装Docker,如果没有安装,会自动为您安装Docker社区版。
构建配置:按需提供构建准备命令,当前示例的所有构建都会在Dockerfile内完成,您无需额外准备。
完成Docker构建并上传至ACR仓库。
OOS会为您执行
docker build
命令构建镜像。您需要指定Dockerfile
的路径和docker build
命令执行的上下文路径。Dockerfile路径:该路径为Dockerfile文件相对于代码库根目录所在的路径。如下图,Dockerfile就在代码根目录,所以直接填写文件名Dockerfile。
上下文路径:ContextPath为
docker build
命令执行上下文路径,填写相对于代码根目录的路径,如果不填写,默认为和Dockerfile同一目录。容器镜像服务类型:您需要提供上传至ACR的相关信息,支持企业版(付费)和个人版(免费)方式。
容器镜像服务类型
说明
相关链接
容器镜像服务类型
说明
相关链接
个人版
您可以依次选择您的用户名、密码以及想要上传的仓库名称。
企业版
您可以依次下拉选择当前账号下的容器镜像服务实例ID,命名空间以及要上传的仓库名称。
最后您需要提供构建的镜像版本,默认值是基于当前日期和执行ID构成的,您可按需替换成适合您项目的镜像版本。然后您还需要确认是否通过内网上传镜像,可参考配置专有网络的访问控制。
单击创建模板。
执行模板
后续使用
后续如果您的代码有更新,您只需把代码推送到相应Git仓库,然后重新执行该CI/CD模板,该流水线会为您拉取最新代码,重新生成镜像并推送。当然,如果您需要调整模板,也可以更新模板后再重新执行。
- 本页导读 (1)
- 前提条件
- 示例模板流程
- 使用示例
- 代码源准备
- 创建模板
- 执行模板
- 后续使用