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

如何让GitLab CI日志显示实际运行值而非变量?

让GitLab CI日志展示变量替换后的实际执行命令

方法1:启用GitLab调试跟踪变量

添加CI_DEBUG_TRACE: "true"变量,就能让GitLab CI输出完整调试信息,包括变量展开后的实际命令。可以在项目CI/CD变量里配置,或者直接写在.gitlab-ci.yml中:

variables:
  CI_DEBUG_TRACE: "true"
  MAVEN_CLI_OPTS: >-
    -s $CI_PROJECT_DIR/.m2/settings.xml
    --batch-mode
    --errors
    --fail-at-end
    --show-version
    -DinstallAtEnd=true
    -DdeployAtEnd=true

compile-test-package:
  stage: package
  script:
    - mvn ${MAVEN_CLI_OPTS} package

注意:这个变量会输出所有环境变量和调试细节,可能包含敏感信息,不要在公开项目或生产环境中随意启用,用完记得关闭。

方法2:手动打印展开后的命令

在执行目标命令前,用echo打印变量展开后的完整命令,简单直接,适合只需要查看特定命令的场景:

variables:
  MAVEN_CLI_OPTS: >-
    -s $CI_PROJECT_DIR/.m2/settings.xml
    --batch-mode
    --errors
    --fail-at-end
    --show-version
    -DinstallAtEnd=true
    -DdeployAtEnd=true

compile-test-package:
  stage: package
  script:
    - echo "实际执行命令:mvn ${MAVEN_CLI_OPTS} package"
    - mvn ${MAVEN_CLI_OPTS} package

日志里会先显示展开后的完整命令,再执行实际操作。

方法3:启用Shell的命令跟踪

在脚本开头加set -x,让bash自动输出每个执行的命令(已展开变量),不需要跟踪时用set +x关闭:

variables:
  MAVEN_CLI_OPTS: >-
    -s $CI_PROJECT_DIR/.m2/settings.xml
    --batch-mode
    --errors
    --fail-at-end
    --show-version
    -DinstallAtEnd=true
    -DdeployAtEnd=true

compile-test-package:
  stage: package
  script:
    - set -x
    - mvn ${MAVEN_CLI_OPTS} package
    - set +x

这种方式会输出每个命令的执行细节,包括变量展开后的内容,但也会附带shell的调试信息,输出内容较多。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 05:01:06