Skip to main content
 Web开发网 » 编程语言 » JAVA语言

云计算核心技术Docker教程:Docker Hub构建钩子和源存储库

2021年11月08日6580百度已收录

【点击右上角加'关注',全国产经信息不错过】

云计算核心技术Docker教程:Docker Hub构建钩子和源存储库  云计算核心技术 第1张

Docker Hub允许您在钩子文件中或从自动构建界面(然后可以在钩子中引用)中定义构建环境变量。

在以下示例中,我们定义了一个构建钩子,该构建钩子使用docker build参数CUSTOM根据我们使用Docker Hub构建设置定义的变量的值来设置变量。$DOCKERFILE_PATH是一个变量,我们为其提供了要构建的Dockerfile$IMAGE_NAME的名称,并且是正在构建的映像的名称。

docker build --build-arg CUSTOM=$VAR -f $DOCKERFILE_PATH -t $IMAGE_NAME .

警告:hooks/build文件会覆盖构建器使用的基本docker build命令,因此您必须在挂钩中包含类似的构建命令,否则自动构建会失败。

推送到多个存储库

默认情况下,构建过程仅将映像推送到配置了构建设置的存储库。如果需要将同一映像推送到多个存储库,则可以设置一个post_push挂钩以添加其他标签并推送到更多存储库。

docker tag $IMAGE_NAME $DOCKER_REPO:$SOURCE_COMMIT

docker push $DOCKER_REPO:$SOURCE_COMMIT

源存储库/分支克隆

当Docker Hub从源代码存储库中提取分支时,它将执行浅表克隆(仅指定分支的尖端)。这样做的好处是可以最大程度地减少从存储库中传输所需的数据量,并加快构建速度,因为它仅提取所需的最少代码。

因此,如果您需要执行依赖于其他分支(例如post_push钩子)的自定义操作,则除非执行以下操作之一,否则无法签出该分支:

通过执行以下操作,可以对目标分支进行浅层检出:

git fetch origin branch:mytargetbranch --depth 1

您还可以“取消整理”克隆,使用获取上的标志来获取整个Git历史记录(并可能花费很长时间/移动大量数据)--unshallow:

git fetch --unshallow origin

免责声明:以上内容转载自TMT观察网,所发内容不代表本平台立场。

全国产经平台联系电话:010-65367702,邮箱:hz@people-energy.com.cn,地址:北京市朝阳区金台西路2号人民日报社

评论列表暂无评论
发表评论
微信