You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用azure-cli镜像的GitLab Pipeline如何正确调用流水线变量

问题原因分析

报错的核心是语法混用:

  • mcr.microsoft.com/azure-cli 镜像的默认执行环境是 Bash shell,你第二行写的$name='prefix' + $APP + 'suffix'是PowerShell的变量赋值+字符串拼接语法,Bash不识别这种写法,会把开头的$name解析成空值,然后把后面的'prefix'当成要执行的命令,所以才会报'prefix': command not found的错误。
  • GitLab CI的变量在azure-cli的执行环境中可以直接通过$变量名的方式引用,不需要额外特殊适配。
正确配置示例

直接用Bash的变量赋值和字符串拼接语法即可,Bash中拼接字符串不需要加号,直接把内容相邻放置即可:

image: maven:3.3.9-jdk-8

variables:
  APP: "MyApp"

stages:
  - build

test_build:
  stage: build
  image: mcr.microsoft.com/azure-cli
  script:
    - echo $APP
    - name="prefix${APP}suffix"
    - echo $name

注意:Bash变量赋值时=左右不能有空格,引用变量时建议加${}包裹变量名避免和后续字符产生歧义。

若要使用PowerShell语法的处理方案

如果你习惯PowerShell写法,可以给当前job指定执行shell为pwsh:

test_build:
  stage: build
  image: mcr.microsoft.com/azure-cli
  shell: pwsh
  script:
    - echo $APP
    - $name='prefix' + $APP + 'suffix'
    - echo $name

内容的提问来源于stack exchange,提问作者snippet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 16:24:04