代码之家  ›  专栏  ›  技术社区  ›  grandchild

Gitlab CI:为Linux和Windows设置环境变量

  •  0
  • grandchild  · 技术社区  · 6 年前

    使用相同的窗口 .gitlab-ci.yml Git存储库中的文件。这是一个简单的构建,我只想使用 shell

    问题是在 猛击 (Linux)与 命令 (窗户)。一次使用 export 其他的 set .

    我怎样才能在不改变环境的情况下 config.toml $PATH ,但这是另一个问题。)

    1 回复  |  直到 6 年前
        1
  •  1
  •   grandchild    6 年前

    你可以利用普通的 || 两个shell中条件执行的语法,用于编写将在一个操作系统上执行但不在另一个操作系统上执行的命令。在设置环境变量的情况下 export 不存在于 cmd

    export PATH="$MYPATH/:$PATH" || set "PATH=%MYPATH%\;%PATH%"
    

    前半部分将在Linux上正确执行,但在Windows上抛出错误。这个 || 语法对两个shell都是通用的,并将执行后面的语句 当前一个失败时。所以下半部分只在Windows上执行,因为 出口 只会失败 命令

    完整的 .gitlab-ci.yml 可能是这样的:

    stages:
      - release
    
    before_script:
      # set environment for both Linux (first half) and Windows (second half)
      - export PATH="$MYPATH/:$PATH" || set "PATH=%MYPATH%\;%PATH%"
    
    my-app:
      stage: release
      script:
        - ./gradlew build