首页 > 解决方案 > 在 Gitlab CI 中定义每个阶段的 ENV 变量

问题描述

我在 gitlab CI 中定义了我的管道,如下所示:

dev-build:
  stage: build
  variables:
    VERSION: "dev"
    BASE_URL: "dev.example.com"
  script:
    - docker build --build-arg VERSION=${VERSION} --build-arg BASE_URL=${BASE_URL} -t example:${VERSION} .
    - docker push example:${VERSION}
  only:
    - dev

dev-deploy:
  stage: deploy
  variables:
    VERSION: "dev"
  script:
    - ssh root@myserver.co, "docker rm -f example_beta; docker pull example:${VERSION} && docker run -d --name example_beta --publish 7733:80 example:beta"
  only:
    - dev

我怎么能在阶段只定义一次环境变量,而不是在每个工作中重新定义它们?

标签: gitlabgitlab-ci

解决方案


在每个阶段之外使用变量:

variables:
  DEV_VERSION: "dev"

dev-build:
  blahblah

dev-deploy:
  blahblah


推荐阅读