GitLab CI - 如果变量存在set变量

时间:2017-04-07 07:20:02

标签: gitlab gitlab-ci gitlab-ci-runner

如果构建是标记的构建,我想设置一个破折号加上repo标记到Docker图像构建,如果不是,我也会解释......

如果我只是想设置标签,这将是微不足道的,因为这样可行:

build-nginx:
  stage: build-nginx
  script:
    - command docker build -t $CI_REGISTRY_IMAGE:nginx$CI_COMMIT_TAG .
    - command docker push $CI_REGISTRY_IMAGE:nginx$CI_COMMIT_TAG

如果没有标记,则可以创建registry.example.com/image:nginx,如果有,则可以创建registry.example.com/image:nginx1.0,但是如何将图像命名为registry.example.com/image:nginx-1.0(使用短划线),我已经我必须检查标签变量是否已设置,否则如果未设置标签变量,我最终将使用registry.example.com/image:nginx-图像。

1 个答案:

答案 0 :(得分:0)

通常我会做

- if [ -z "$CI_COMMIT_TAG" ]; then docker build -t $CI_REGISTRY_IMAGE:nginx$CI_COMMIT_TAG .; else docker push $CI_REGISTRY_IMAGE:nginx-$CI_COMMIT_TAG; fi