在 .gitlab-ci.yml 中为 Docker 构建获取最新标签

Get latest tag in .gitlab-ci.yml for Docker build

我想在构建 Docker 图像时添加标签,到目前为止我正在这样做,但我不知道如何在正在部署的存储库上获取最新标签。

docker build -t company/app .

我的目标 docker build -t company/app:$LATEST_TAG_IN_REPO? .

您可以尝试使用 $CI_COMMIT_TAG$CI_COMMIT_REF_NAME,这是构建期间可访问的 predefined variables 的一部分。

如果您想在构建步骤中查看所有可用的环境变量,这应该是您的工作之一:

script:
    - env

由于您正在寻找“最新的”git 标记,它是您可能想要使用的当前构建提交的祖先

git describe --tags --abbrev=0

获取它并像这样使用它:

docker build -t company/app:$(git describe --tags --abbrev=0) .

Read here git describe