社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

在Gitlab管道的多个阶段中使用$CI_JOB_ID作为常量

ontherocks • 4 年前 • 1784 次点击  

我有以下几点

stages:
    - stage1
    - stage2
variables:
        MY_ENV_VAR: env_$CI_JOB_ID
stage1_build:
    stage: stage1
    script:
        - echo $MY_ENV_VAR
stage2_build:
    stage: stage2
    script:
        - echo $MY_ENV_VAR

我得到了不同的价值观 $MY_ENV_VAR 在这两个阶段(这意味着 $CI_JOB_ID 每个阶段的变化)。

我想要的是设定 $MY_ENV_VAR 一次一个值 $CI_JOB_ID 使其为常数,使 $MY_ENV_VAR 用于所有阶段。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/130367
文章 [ 1 ]  |  最新文章 4 年前
sytech
Reply   •   1 楼
sytech    4 年前

使用 $CI_PIPELINE_ID instaed,这将在管道中的所有工作中保持不变。

variables:
  MY_ENV_VAR: env_$CI_PIPELINE_ID

看见 predefined environment variables 以供补充参考。

如果确实希望在一个作业中创建环境变量,并在管道的其余部分保持不变,可以使用 artifacts:reports:dotenv .

stages:
    - stage1
    - stage2

set_env:
  stage: .pre
  script:
    echo "MY_ENV_VAR=env_$CI_JOB_ID" > .myenv
  artifacts:
    reports:
      dotenv: .myenv

stage1_build:
    stage: stage1
    script:
        - echo $MY_ENV_VAR
stage2_build:
    stage: stage2
    script:
        - echo $MY_ENV_VAR