这篇文章memo一下使用Jenkins 2.176.1 LTS版本获取Jenkins-Crumb所碰到的问题与对应方法。

现象

Jenkins启动之后,使用API方式获取Jenkins-Crumb,碰到了如下错误信息提示

liumiaocn:jenkins liumiao$ jenkins_host_url=http://localhost:32002
liumiaocn:jenkins liumiao$ user_passwd="root:liumiaocn"
liumiaocn:jenkins liumiao$ curl -u $user_passwd ${jenkins_host_url}'/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)'
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Error 404 Not Found</title>
</head>
<body><h2>HTTP ERROR 404</h2>
<p>Problem accessing /crumbIssuer/api/xml. Reason:
<pre>    Not Found</pre></p><hr><a href="http://eclipse.org/jetty">Powered by Jetty:// 9.4.z-SNAPSHOT</a><hr/></body>
</html>
liumiaocn:jenkins liumiao$

上述代码是在4个月前使用相同的镜像启动的Jenkins容器获取Jenkins-Crumb的代码,毫无差别。镜像和获取方式都没有问题,为什么出现问题了呢?

原因

原因是docker-compose.yml文件发生了变化

liumiaocn:jenkins liumiao$ cat docker-compose.yml
version: '2'services:# jenkins service based on Jenkins LTS versionjenkins:image: liumiaocn/jenkins:2.176.1ports:- "32002:8080"- "50000:50000"environment:- JENKINS_ADMIN_ID=root- JENKINS_ADMIN_PW=liumiaocn- JENKINS_MODE=master- JAVA_OPTS=-Djenkins.install.runSetupWizard=falsevolumes:- ./data/:/data/jenkins- /var/run/docker.sock:/var/run/docker.sockrestart: "no"
liumiaocn:jenkins liumiao$

删除JAVA_OPTS和sock的映射对应(此两项设定是做别的验证中修改的内容)即和之前的环境才真正做到了一致。

liumiaocn:jenkins liumiao$ cat docker-compose.yml
version: '2'services:# jenkins service based on Jenkins LTS versionjenkins:image: liumiaocn/jenkins:2.176.1ports:- "32002:8080"- "50000:50000"environment:- JENKINS_ADMIN_ID=root- JENKINS_ADMIN_PW=liumiaocn- JENKINS_MODE=mastervolumes:- ./data/:/data/jenkinsrestart: "no"
liumiaocn:jenkins liumiao$

结果确认

使用上述docker-compose.yml文件再次启动Jenkins,确认Jenkins-Crumb的信息,发现已经没有问题了。

liumiaocn:jenkins liumiao$ jenkins_host_url=http://localhost:32002
liumiaocn:jenkins liumiao$ user_passwd="root:liumiaocn"
liumiaocn:jenkins liumiao$ jenkins_crumb=`curl -u $user_passwd ${jenkins_host_url}'/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)' 2>/dev/null`
liumiaocn:jenkins liumiao$ echo $jenkins_crumb
Jenkins-Crumb:2e1220dce82f34354ab2416bc4ef2c84
liumiaocn:jenkins liumiao$

追加说明

JAVA_OPTS=-Djenkins.install.runSetupWizard=false
增加此行的原因:Jenkins首次启动时插件安装选择的页面跳过,正是此行的增加导致了本文的问题出现

- /var/run/docker.sock:/var/run/docker.sock
为了解决容器启动的Jenkins中进行镜像生成等操作,不然诸如docker.build等操作都会报错,此行并不会导致问题出现

总结

原因到底是什么并不是这个memo的意义,想表述的是在做DevOps实践中,经常强调的环境的一致性。镜像还是那个镜像,使用方式也没有变化,启动的配置略有不同则发生了使用上的问题,而如果是手工的配置,没有以docker-compose.yml这样明示的将修改的问题显示地表现出来的情况呢?我们快速地定位问题的原因所花的时间自然会大幅度的上升。

Jenkins基础:获取Jenkins-Crumb的错误信息与对应方法相关推荐

  1. Partition Magic错误信息与解决方法

    Partition Magic错误信息与解决方法<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:of ...

  2. 计算机中的表示方法,计算机应用基础第三章计算机中信息的表示方法

    <计算机应用基础第三章计算机中信息的表示方法>由会员分享,可在线阅读,更多相关<计算机应用基础第三章计算机中信息的表示方法(17页珍藏版)>请在人人文库网上搜索. 1.第第三三 ...

  3. PHP编译过程中常见错误信息的解决方法

    在CentOS编译PHP5的时候有时会遇到以下的一些错误信息,基本上都可以通过yum安装相应的库来解决.以下是具体的一些解决办法: checking for BZip2 support- yes ch ...

  4. 如何获取ffmpeg返回的错误信息

    1.通常可以使用函数av_strerror来获取详细信息: 2.如果(1)不能获取到信息,请参照errno.h中错误码定义

  5. php 获取警告信息,获取PHP警告错误信息的解决方法_PHP教程

    代码如下所示: 复制代码 代码如下: "; fileWrite($filename, $result, 'w'); } function sendBankMsg($msg) { $times ...

  6. Web Of Science检索页面错误信息修改申请方法

    发现自己被SCI检索的文章在检索页面出现信息错误时, 可以通过Web Of Science 页面提交修改申请 方法一: 1.打开wos中文章的具体页面,在右下角有一个 suggest a correc ...

  7. SSH Secure Shell显示GCC编译错误信息乱码解决方法

    今天在WindowsXP下使用远程到CentOS服务器上,使用 gcc 编译程序,程序编译出错,但是gcc的输出信息中有少量乱码(如图1),直接在服务器的命令行中显示正常. 解决办法如下: 在用户的配 ...

  8. PS CS4 改变文字字体时弹出“ 无法完成请求 因为程序错误”信息的解决方法

    使用文本工具写入文字后改变字体为楷体时出现错误,按照网上说的修改暂存盘位置以及复位还有取消勾选亚洲字体选项都不奏效,后来去CS6版本上试了下可以修改为楷体了,是版本的问题.后来发现CS4中字体前有符号 ...

  9. Sharepoint学习笔记---Debug--使用ULS Log跟踪Solution错误信息

    在开发Sharepoint Solution时,我们可以使用Attach to process来Debug我们的方案,然而一旦我们把Solution部署到了生产机上,我们就难以再使用这个最直接的方法了 ...

最新文章

  1. 创业失败后,我决定开源所有产品代码
  2. Tomcat端口被占用怎么查看占用程序
  3. 【Top1】Tudou.com首页网页设计的制作方法
  4. 软考下午题具体解释---数据流图设计
  5. 网易云音乐刷听歌量_网易云音乐极速版悄然上线!听歌体验同之前没有差别
  6. 怎么调用新建模型里文章的内容_读完这篇文章,再难的建筑模型你都能快速上手...
  7. 安装Electron
  8. linux系统查看网卡是否开启,查看Linux下网卡状态或 是否连接
  9. 定义一个矩形类Rectangle
  10. Elastic认证考试过程(2022.11.13 06:15)
  11. 大数据兼云计算(王明龙)讲师-JAVA-DAY05-基本数据类型
  12. 【dgl框架】dgl.metapath_reachable_graph函数解析
  13. 基于tensorflow和卷积神经网络的电影推荐系统的实现
  14. vue引入鼠标点击效果
  15. 三相电检测电路c语言,三相电缺相检测电路
  16. 软件工程结对开发——返回一个整数数组中最大子数组的和(JAVA)
  17. Oracle横竖转换通用函数
  18. Android 系统日志写入文件
  19. SpringBoot+Mybatis实现图片按用户上传存储和获取用户图片功能
  20. 图片清晰度评价-java实现

热门文章

  1. 《世界咖啡》一书小结
  2. 火焰字,通过PS制作炫酷的火焰文字
  3. 银行与银行之间的现金是如何流转的:央行支付清算系统
  4. mate40pro会搭载鸿蒙,华为 Mate40Pro 4G 版本入网,出厂搭载鸿蒙系统
  5. 机器学习knn算法学习笔记使用sklearn库 ,莺尾花实例
  6. OSChina 周四乱弹 —— 神转折段子?
  7. bootstrap4.0图标使用_详解Bootstrap glyphicons字体图标
  8. android wifi 流程图_实现双wifi的方法及Android终端与流程
  9. 在c语言中括号里面有两个算式,聪明题有答案
  10. FZU11685 之 跑跑卡丁车