相关疑难解决方法(0)

CI-pipeline 忽略在给定步骤中失败的任何命令

我正在尝试调试 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 以及我的其他任何内容想要包含,但我意识到其中一些命令将失败,因为某些命令未找到。

搜索上述解决方案让我很接近。

gitlab-ci

6
推荐指数
1
解决办法
9621
查看次数

标签 统计

gitlab-ci ×1