自动化构建与触发
-
绑定代码托管平台:ACR 支持与多种代码托管平台(如阿里云 Codeup、Gitee、GitHub、GitLab、Bitbucket 等)绑定。绑定后,当代码仓库有新的提交或变更时,可以自动触发镜像构建,实现镜像构建的自动化。
-
设置自动构建规则:在创建镜像仓库时,可以设置代码变更时自动构建镜像的规则。例如,可以选择特定的分支或标签,当该分支或标签有代码更新时,系统会自动启动镜像构建流程。
智能加速构建
-
使用高效构建工具:ACR 默认使用 BuildKit 作为构建工具,BuildKit 具有强大的构建能力和丰富的构建特性,尤其在多阶段构建场景中表现出色,可以显著提高镜像构建的效率。
-
利用远程构建缓存:系统通过远程构建缓存机制,避免了重复拉取基础镜像等依赖,从而加速镜像的构建过程。
-
托管常用基础镜像:ACR 系统托管了常用的基础镜像,在构建过程中使用这些基础镜像时,无需从外部拉取,大大缩减了构建时间。
-
按需加载镜像:ACR 支持制作按需加载的镜像,在普通镜像推送完成后,可以自动制作加速镜像,进一步优化镜像的加载速度。
自定义构建配置
-
设置构建参数:在构建镜像时,可以根据需要设置构建参数,如构建架构、构建上下文目录、Dockerfile 文件名、镜像版本等,以满足不同的构建需求。
-
使用正则表达式匹配分支:可以通过正则表达式匹配特定的分支或标签,实现灵活的构建规则设置。例如,可以设置正则规则
release-(?<imageTag>\w*)
,当以release-
开头的分支有代码变更时,自动触发构建,并将分支名中的版本号捕获为镜像版本。
集成与扩展
-
集成 CI/CD 流程:ACR 可以与持续集成 / 持续交付(CI/CD)工具链集成,如 Jenkins、GitLab CI 等,将镜像构建过程无缝融入到现有的开发和交付流程中,实现自动化的镜像构建、测试和部署。
-
海外源智能加速:如果项目使用国外的代码托管平台或 Dockerfile 中引用了国外的数据源,开启海外源智能加速功能,可以加速构建时对海外数据源的拉取,解决跨境网络不稳定导致的构建延迟问题。
提高构建安全性
-
独占构建环境:镜像构建任务会在归属用户的独占环境中执行,确保构建过程的安全性和隔离性,避免不同用户构建任务之间的相互干扰。
-
稳定构建时间:由于使用用户专属的独占环境,单代码仓库多次构建的时间消耗较为稳定,有助于提高构建过程的可预测性和可靠性。