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

Jenkins流水线触发后立即终止问题及相关系统日志

Jenkins流水线触发后立即停止:oci命令找不到问题排查与修复

关键错误日志

Nov 18, 2024 4:54:24 PM WARNING io.fabric8.kubernetes.client.Config getExecCredentialFromExecConfig
sh: 1: oci: not found

Nov 18, 2024 4:54:24 PM WARNING io.fabric8.kubernetes.client.Config getExecCredentialFromExecConfig
Error unmarshalling ExecCredential
mapping values are not allowed here
in reader, line 1, column 6:
sh: 1: oci: not found

问题原因

尽管服务器全局环境已配置oci和kubectl可正常访问,但Jenkins进程的环境变量PATH未包含oci的安装路径,导致kubernetes插件调用oci命令失败,进而引发流水线启动后立即终止。

修复方案

方案1:配置Jenkins全局环境变量

  1. 进入Jenkins后台,依次点击「Manage Jenkins」→「Configure System」
  2. 找到「Global properties」模块,勾选「Environment variables」
  3. 添加环境变量:
    • 名称:PATH
    • 值:[oci安装路径]:$PATH(例如oci在/usr/local/bin,则填/usr/local/bin:$PATH)
  4. 保存配置后重启Jenkins,重试构建

方案2:针对Jenkins节点配置环境变量

若使用agent节点运行流水线:

  1. 进入「Manage Jenkins」→「Manage Nodes and Clouds」
  2. 选择目标节点,点击「Configure」
  3. 在「Node Properties」下勾选「Environment variables」,添加PATH变量并填入包含oci路径的取值
  4. 保存配置后重新连接节点,重试构建

方案3:在流水线脚本中显式设置路径

无需修改全局配置,直接在流水线代码中指定环境变量:

pipeline {
    agent any
    environment {
        PATH = "/usr/local/bin:$PATH" // 替换为你的oci实际安装路径
    }
    stages {
        stage('Deploy') {
            steps {
                // 你的流水线执行步骤
            }
        }
    }
}

验证方法

进入Jenkins「脚本控制台」(Manage Jenkins → Script Console),执行以下代码查看Jenkins进程的PATH:

println System.getenv('PATH')

确认输出内容包含oci的安装路径,即可验证环境变量配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 03:50:07