我正在尝试调试 CI 管道,并希望创建一个自定义logger阶段来转储有关管道运行环境的大量信息。
我尝试添加这个:
stages:
- logger
logger-commands:
stage: logger
allow_failure: true
script:
- echo 'Examining environment'
- echo PWD=$(pwd) Using image ${CI_JOB_IMAGE}
- git --version
- echo --------------------------------------------------------------------------------
- env
- echo --------------------------------------------------------------------------------
- npm --version
- node --version
- echo java -version
- mvn --version
- kanico --version
- echo --------------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
问题是 Java 命令因java未安装而失败。错误说:
/bin/sh: eval: line 217: java: not found
Run Code Online (Sandbox Code Playgroud)
我知道我可以删除该行java -version,但我试图想出一个可以在所有 CI 管道中使用的固定记录器,因此它将包括:Java、Maven、Node、npm、python 以及我的其他任何内容想要包含,但我意识到其中一些命令将失败,因为某些命令未找到。
搜索上述解决方案让我很接近。
allow_failure: …gitlab-ci ×1