首页 > 其他分享 >jenkins运行任务报错Failed to initialize解决

jenkins运行任务报错Failed to initialize解决

时间:2023-12-26 18:59:20浏览次数:38  
标签:-- cmd Failed 报错 运行 initialize jenkins docker certs

按照jenkins中文挂网创建了一个创建 Hello World 流水线,使用的示例为Node.js / JavaScript
运行jenkins任务后,提示失败,然后在console output里发现以下错误信息

Failed to initialize: unable to resolve docker endpoint: open D:/Program Files/Git/certs/client/ca.pem: no such file or directory

提示信息为“初始化失败:无法解析docker端点,打开D:/Program Files/Git/certs/client/ca.pem 没有这个文件或文件夹”

根据这个报错,估计是和certs配置有关,目前这个路径的前半部分是我本地的git路径,很奇怪,因为配置里没有配置为这个路径,想了半天,猜测和运行docker命令时是用的git bash终端来运行的有关,所以计划换成powershell试试。

后面换成powershell重新运行docker run 等这些命令,重新生成容器,再尝试运行任务,成功!

img

img

现在是好了,但是也要知道之前为什么是坏的,现在对问题进行进一步分析

首先,解释一下为什么使用git bash运行docker命令生成容器,因为根据官网Docker (jenkins.io)的例子

docker run --name jenkins-docker --rm --detach ^
  --privileged --network jenkins --network-alias docker ^
  --env DOCKER_TLS_CERTDIR=/certs ^
  --volume jenkins-docker-certs:/certs/client ^
  --volume jenkins-data:/var/jenkins_home ^
  --publish 2376:2376 ^
  docker:dind

我把命令复制粘贴到power shell 后运行,报错
img

这里应该比较明显的能看出来,命令换行解析的问题,简单网上搜了一下,知道了power shell不用 ^ 作为命令换行符,而用 ` 符号,当时不想改这些符号,就参考了On macOS and Linux 下的运行例子

docker run \
  --name jenkins-docker \
  --rm \
  --detach \
  --privileged \
  --network jenkins \
  --network-alias docker \
  --env DOCKER_TLS_CERTDIR=/certs \
  --volume jenkins-docker-certs:/certs/client \
  --volume jenkins-data:/var/jenkins_home \
  --publish 2376:2376 \
  docker:dind \
  --storage-driver overlay2

然后用git bash 运行,运行后是成功的,jenkins可以正常起来,但是跑任务时就会提示上面的找不到文件的报错。

因为报错内容和certs相关,所以我就查看了docker中的jenkins-docker-certs数据卷,发现了如果用git bash运行,数据卷中为空,用cmd或者power shell运行,数据卷中有文件。所以猜测和docker命令运行时底层解析有关,目前只能查到这了,在往下深入目前没什么头绪。

这里回头再来看下问题发生的地方,官网给的例子中 ^ 符号是用在哪里呢,powser shell中不生效,那应该就是cmd了,在cmd尝试,运行成功,果然是因为我没在cmd里运行才导致的换行命令解析的错误。

img

经过验证,^ 确实是cmd中命令的换行符,所以这里简单做一个知识总结:

终端 命令换行符
windows cmd ^
windows powershell ` 反引号,键盘左侧数字1的左边
git bash 或者linux \

因为我印象中官网也没要求用cmd还是powershell,所以我再回顾文档确认一下,发现了第一句:

Open up a command prompt window and similar to the macOS and Linux instructions above do the following:

翻译成中文为:“打开命令提示符窗口,类似于上面的macOS和Linux指令,执行以下操作:”
然后我在本地搜了一下“command”或者“命令提示符”,显示如下:
img

尴尬了,命令提示符就是平常用的cmd,我当时没仔细看这一行,想着随便找个终端都可以,真是不仔细看文档惹的祸,以后真是要仔细看文档。

问题总结:git bash运行docker 命令导致的问题,改为cmd即可解决。

标签:--,cmd,Failed,报错,运行,initialize,jenkins,docker,certs
From: https://www.cnblogs.com/zhaoguowei12/p/17928864.html

相关文章

  • 微信小程序测试框架minium 报错MiniCommandError: timeout问题排查和解决
    系统:win10python版本:3.11.7minium版本:1.4.6微信开发工具版本:1.06.2310080运行minitest官网的一个简单例子,内容如下#!/usr/bin/envpython3importminiumclassFirstTest(minium.MiniTest):deftest_get_system_info(self):sys_info=self.mini.get_sys......
  • Camstar service:Database Unavailable报错
     原因说明:我们用的半导体8.5版本的。然后开发desginer用的2.0。问题就是出在2.0上,我们几个同事都是用2.0designer开发的,2.0导出差异一直报错,用的1.0导出差异不报错,后续再导入差异合并。(2个人的差异合并,更新直接系统挂了)。解决方案:拿原始档mdb,用designer1.0打开,导入A同事的差异,......
  • Win10远程桌面连接报错:出现身份验证错误,要求的函数不受支持(CredSSP)
    问题: 解决方法:1、Win+R,打开运行窗口,输入regedit,打开注册表2、找到路径:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System3、在System文件夹内创建文件夹项:\CredSSP\Parameters4、在Parameters文件夹内,新建DWORD(32)值(D),文件名为Al......
  • PyQt报错:Cannot load backend 'Qt5Agg' which requires the 'qt5' interactive framew
    PyQt报错:Cannotloadbackend'Qt5Agg'whichrequiresthe'qt5'interactiveframework,as'headless'iscurrentlyrunning问题描述在远程链接ubuntu虚拟机进行开发时,报错。解决方案原因是pyqt需要绘制UI,而使用远程链接的终端(如windowspowershell、xshell、vscodetermi......
  • pnpm切换源后报错ERR_PNPM_REGISTRIES_MISMATCH
    工具都是有利有弊,使用pnpm过程中经常会出现一个错误:Thismodulesdirectorywascreatedusingthefollowingregistriesconfiguration:{"default":"https://registry.npmjs.org/"}.Thecurrentconfigurationis{"default":"https://registry.npm.taob......
  • go服务get请求中携带分号(;)时报错,获取不到参数的问题
    前言我们在写get方式的api请求时,有时候会用这样的一种方式携带参数:http://ip:port/a/b?query=key:1;value:2&other=xxx,这里我们注意到query一个字段其实是携带了等子字段的,一个是key,一个是value;这在go1.17版本之前是没有问题的。但是在1.17之后打印警告,在1.20之后,go服务会......
  • jumpserver连接ecs实例报错:UNREACHABLE! => {"changed": false, "msg": "Failed to
     报错分析思路:1.是ssh密钥设置有没有对接2.防火墙拦截问题3.用户设置问题4.sshd配置问题 问题解决: 无法与221.229.216.39端口35846进行协商:找不到匹配的主机密钥类型。他们提供的是:ssh-rsa、ssh-dss[preauth]在sshd配置中加上ssh-rsa和ssh-dss是两种主机密钥算......
  • Windows下的Redis启动报错Redis service failed to start解决方法
    报错原因:Redis服务没有找到log文件解决方法在Redis安装目录下打开redis.windows-service.conf文件搜索logfile,找到logfile存放目录,一般默认为Logs/redis_log.txt在Redis安装目录创建Logs文件夹,在Logs文件夹下创建redis_log.txt文件重新启动即可解决......
  • VS2019,无法启动程序xxx.exe,系统找不到指定的文件,重新生成解决方案报错
     调试程序报错如图一、尝试重新生成解决方案二、如果生成解决方案也报错,重新安装.netSDK本人所用为VS2019,.net5,到官网下载.net5的SDK重新安装后,恢复正常,重新生成成功,启动调试成功。.net各版本下载地址:https://dotnet.microsoft.com/en-us/download/dotnet.net5下载地址:h......
  • 达梦数据库触发器begin报错
    达梦数据库建立了如下触发器CREATE TRIGGERHLHTMD_QY_ORGBEFOREUPDATE OFSTATEON IPSBTQYFOREACHROW WHEN(NEW.STATE='2') BEGIN IFEXISTS( SELECT* FROM MD_QY_ORG WHERE CODE=NEW.CODE) BEGIN--------报错位置 UPDATE MD_QY_ORG......