git tag与GitLab CI/CD Pipeline

git tag用于给版本库的某个提交打标签,以示重要的里程碑。在GitLab CI/CD Pipeline中,我们可以利用git tag来触发某些作业的运行。

例如,我们有一个镜像构建并推送到Docker Hub的Pipeline:

build:
  stage: build
  script:
    - docker build -t myimage .

deploy_dockerhub:
  stage: deploy 
  only:
    - tags
  script:
    - docker login --username $DOCKER_USERNAME --password $DOCKER_PASSWORD
    - docker tag myimage $DOCKER_USERNAME/myimage:$CI_COMMIT_TAG
    - docker push $DOCKER_USERNAME/myimage:$CI_COMMIT_TAG

在此Pipeline中,deploy_dockerhub 阶段只有在有 git tag 打在当前提交时才会运行,它会将镜像推送到 Docker Hub,标签为提交的 tag 名称。

使用示例:

  1. 提交代码到仓库
git add . 
git commit -m "Update code"
  1. 打 tag 并推送到远端
git tag v1.0.0
git push origin v1.0.0
  1. 访问 GitLab CI 页面,deploy_dockerhub 阶段会运行,将镜像标签为 v1.0.0 推送至 Docker Hub

  2. 未打 tag 时,deploy_dockerhub 阶段不会运行

git add . 
git commit -m "Update code"
git push

GitLab CI 页面,deploy_dockerhub 阶段会被跳过。

页面提交标签:
在这里插入图片描述

通过 git tag,我们可以有选择性地触发 Pipeline 中的某些作业运行,这为我们实现持续交付提供了便利。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐