1.前提

公司SVN账号密码和AD账号密码是绑定在一起的,为了保证代码检出总是最新,jenkins中做代码检查前总会从SVN中检出最新代码。

最近公司要求AD账户不得使用原始密码,更改密码后,jenkins在检出代码的时候出现了一个坑爹的问题:控制台打印的问题是subversion update has been canceled。

2.分析原因

subversion update has been canceled——SVN代码无法正常更新,这很明显是SVN密码更改后的副作用。

3.所做的努力

3.1 修改jenkins本身的配置

  修改完jenkins中一切和SVN有关的账号密码信息并重启jenkins服务后,检出代码仍旧报错:subversion update has been canceled。

  上述努力失败后,一度不敢再相信人生。谷歌了十几分钟,由于公司网速太不给力(可以吐槽一下么?),也没得到一个有参考价值的答案。

  平复了下心情,打算从头开始分析。只是很纠结:jenkins该修改的配置都修改了,而且确保没有遗漏,为什么就没有生效呢?

3.2 重新分析

  拿出一个代码检查作业仔细分析,大脑中显现出jenkins后台做的一切工作,看到SVN检出的策略:Use 'svn update' as much as possible(平时一直没有太注意这个所谓的策略,因为默认就是它),虎躯一震,有了!

  这应该就是jenkins检出的时候利用了slave SVN本身的检出功能,那我就应该去修改子节点中SVN保存的用户密码等相关数据。

3.3 再次出发

  打开slave SVN客户端,setting → Saved Data → 选择「Authentication data」,点击【Clear】 → 确定。

  进入SVN Resp-browser,就会弹出一个框,让重新输入账户密码,输入后勾选上保存。

  再次构建jenkins中的作业,果然好了!

  由于公司电脑只能在内网使用,无法截图,就不再上图了。

4.体会

  ① 遇到问题应该先自己分析可能的原因,而不是直接谷歌。要对自己有信心,相信自己独立解决问题的能力。

  ② 再次体会到jenkins m/s架构的优势——master只负责调度管理,slave负责具体执行。这也为jenkins出现的问题提供了两个大维度的思考面:master层面和slave层面。

jenkins SVN更改密码后出现的坑爹问题的更多相关文章

  1. ignore-on-commit svn 更改文件后 默认不提交文件到服务器(服务器上已存在的文件)

    不用那个忽略文件那个,那个功能是删除服务器的文件,然后本地还存在,不符合我的要求 我的要求是 服务器文件在,我不动,然后我改完了,和别人的不冲突,我也不覆盖别人的文件 主要就是默认不提交,这个很重要 ...

  2. centos6.5安装Mysql5.6及更改密码

    (一) centos6.5安装Mysql5.6 二进制文件安装的方法分为两种: 第一种是不针对特定平台的通用安装方法,使用的二进制文件是后缀为.tar.gz的压缩文件: 第二种是使用RPM或其他包进行 ...

  3. MYSQL后更改ROOT的密码后无法启动服务报错1067

    安装MYSQL后更改了ROOT的密码后用 net start mysql 启动时报错1067.使用以下命令:1.进入mysql安装目录的bin目录下:cd C:\Program Files\MySQL ...

  4. jenkins之从0到1利用Git和Ant插件打war包并自动部署到tomcat(第一话):初次启动jenkins,输入给定密码后登录失败问题解决

    Jenkins是一个持续集成平台,它能够从git等源码管理服务器拉取代码.打包并发布到tomcat等中间件,只要配置好相关插件,就可以做到项目的自动化构建.部署,不论是对开发来说监控代码质量,还是对测 ...

  5. vultr恢复快照后更改密码(CentOs7)

    vultr恢复快照之后发现Xshell连不上了,仔细想想应该是之前换服务器的时候恢复快照导致密码更改了, 但是我已经把之前的服务器删了,没记住密码,这就很难受 只好改密码了 首先去官网 打开终端: 最 ...

  6. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

    前言     上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库 ...

  7. Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

    上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以 ...

  8. 最全Jenkins+SVN+iOS+cocoapods环境搭建及其错误汇总

    前言 持续集成是敏捷开发中重要的一部分,为保证新功能的开发,又保证旧功能的维护,从一个冲刺到下个冲刺.持续集成工具是我们保证开发和维护并行的护航者,现在流行的集成工具有很多,例如: 1.Jenkins ...

  9. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境

    前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A和B都习 ...

随机推荐

  1. 【旧文章搬运】加载PE文件时IAT的填充时机

    原文发表于百度空间,2011-06-20========================================================================== 大致过程如 ...

  2. office2007下载地址

    thunder://QUFodHRwOi8vNDYuZHVvdGUub3JnOjgwODAvb2ZmaWNlMjAwN3Byby56aXBaWg==thunder://QUFodHRwOi8vNTEu ...

  3. Nhibernate中多Or条件的查询,很多Or的查询

    public IList<object[]> GetRequestAllByUserCodeUnitSysClassify1(string unitNo, string system, s ...

  4. PPJQR-GKK-2深度学习及应用

    参考资料: UFLDL:http://deeplearning.stanford.edu/wiki/index.php/UFLDL_Tutorial Deep Learning Turtorial:h ...

  5. 11.ClientCredential模式总结

    11.ClientCredential模式总结 服务端定义的Resource叫做api Resource API默认是被保护的 第三方的客户端先去请求 Server拿到access token.带着t ...

  6. python 内置函数的补充 isinstance,issubclass, hasattr ,getattr, setattr, delattr,str,del 用法,以及元类

    isinstance   是 python中的内置函数 , isinstance()用来判断一个函数是不是一个类型 issubclass  是python 中的内置函数,  用来一个类A是不是另外一个 ...

  7. 3d工具收集

    Poser 是Metacreations公司推出的一款三维动物.人体造型和三维人体动画制作的极品软件.用过Poser 2与Poser 3的朋友一定能感受到Poser的人体设计和动画制作是那么的轻松自如 ...

  8. iOS中UIWebView使用JS交互

    iOS中偶尔也会用到webview来显示一些内容,比如新闻,或者一段介绍.但是用的不多,现在来教大家怎么使用js跟webview进行交互. 这里就拿点击图片获取图片路径为例: 1.测试页面html & ...

  9. ubuntu 安装 RPostgreSQL 库

    其实大家在Linux 的R 中安装其他库,完全可以使用R 自带的安装方式,只是这个 RPostgreSQL 库需要用到 postgresql 的lib 库与include 头文件,所以才有若干个步骤去 ...

  10. (转)linux du命令

    转自 http://www.cnblogs.com/peida/archive/2012/12/10/2810755.html Linux du命令也是查看使用空间的,但是与df命令不同的是Linux ...