如何将docker hub自动构建标记为git sha

时间:2016-12-28 05:32:25

标签: github docker tags dockerhub

我们正在使用自动化Docker中心构建,以便在将新提交推送到github时自动创建我们的应用程序映像。

当我们手动更改docker hub上的标记时,这很有效。 现在我们想要的是自动创建图像标签作为git commit sha,以便我们可以在我们的kubernetes部署中提取该图像以进行滚动更新

我们想要这样的事情,  当在我们的应用程序库中推送 foo 时, docker hub将自动构建图像,我们将在dockerhub上创建新图像  myimage:foo

我没有在docker hub上找到实现此目的的文档。如何实现这一目标?we have only two options on dockerhub, i.e tag, branch

感谢。

1 个答案:

答案 0 :(得分:3)

hooks/中创建一个名为post_push的新可执行文件,其中包含以下内容,以另一张以最新的git short哈希作为其标记的图像:

#!/bin/bash

SHORTHASH="$(git rev-parse --short HEAD)"
docker tag $IMAGE_NAME $DOCKER_REPO:$SHORTHASH
docker push $DOCKER_REPO:$SHORTHASH