【发布时间】:2019-08-06 18:09:21
【问题描述】:
我正在尝试在我的 gitlab-ci.yml 文件中使用变量。此变量作为参数传递给批处理文件,该文件将仅根据传入的参数构建或构建和部署。我尝试了许多不同的方法将我的变量传递到批处理文件中,但每次对变量进行更多处理就像一个静态字符串。
我已经阅读了有关变量的 gitlabs 文档,但似乎无法使其工作。
- build
variables:
BUILD_PUBLISH_CONFIG_FALSE: 0
BUILD_PUBLISH_CONFIG_TRUE: 1
# BUILD ===============================
build: &build
stage: build
tags:
- webdev
script:
- ./build.bat %BUILD_CONFIG%
build:branch:
<<: *build
variables:
BUILD_CONFIG: $BUILD_PUBLISH_CONFIG_FALSE
only:
- /^(feature|hotfix|release)\/.+$/
build:branch:
<<: *build
variables:
BUILD_CONFIG: $BUILD_PUBLISH_CONFIG_TRUE
only:
- /^(stage)\/.+$/
build:branch:
<<: *build
variables:
BUILD_CONFIG: $BUILD_PUBLISH_CONFIG_TRUE
only:
- /^(master)\/.+$/
在观看 gitlab 的 ci 脚本执行时,我期望 ./build.bat 0 或 ./build.bat 1。 每次打印为 ./build.bat %BUILD_CONFIG%
【问题讨论】:
-
似乎问题在于代码下部的变量。从顶部直接使用变量。我似乎无法让底部的变量传递值。
-
%BUILD_CONFIG%- 这是一些 Windows 获取变量值的方法吗?你的 gitlab docker 镜像的入口是什么?$BUILD_PUBLISH_CONFIG_TRUE- 你用 imageh${ ... }试过了吗?
标签: bash variables gitlab gitlab-ci gitlab-ci-runner