GitLab CI/CD中如何正确显示Master与Slave版本?
GitLab CI脚本变量不展开问题解决
你的问题出在单引号的使用——shell中用单引号包裹的内容会被原样输出,不会解析其中的变量(比如$MASTER_VERSION),所以最终CSV里显示的是变量名而非实际版本值。
修正后的脚本如下:
- echo "Komponente;Version" >> $VERSION_CSV - echo "Master; \"$MASTER_VERSION\"" >> $VERSION_CSV - echo "Slave; \"$SLAVE_VERSION\"" >> $VERSION_CSV - eval "$DEPLOY_CURL_COMMAND_4"
关键修改说明:
- 将echo命令的单引号
'替换为双引号",这样shell会自动解析双引号内的变量,把$MASTER_VERSION和$SLAVE_VERSION替换成实际值。 - 输出中的双引号需要用反斜杠
\转义,避免被shell当作字符串边界处理,确保CSV里的版本号带引号。 - 最后一行的eval命令,如果
$DEPLOY_CURL_COMMAND_4本身包含变量需要展开,直接用双引号包裹即可(确保变量内容安全的前提下)。
内容的提问来源于stack exchange,提问作者Anaïs Diaz
相关产品推荐
相关产品推荐

