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. aidl笔记 2/5/2015

    interface Test { //测试的接口 void fun();} Stub 是一个Binderclass Stub extend Binder implements Test { publi ...

  2. JS自动让手机调出软键盘,进行输入

    $('.search').click(function(){ $('input[type=text]').focus(); //让input框自动聚焦就可以让手机自动调出软键盘 });

  3. sublimelinter-php 错误代码提示

    先安装 SublimeLinter 如同其他插件一样使用 Package Control 来安装. 按下 Ctrl+Shift+p 进入 Command Palette 输入install进入 Pac ...

  4. c# aop讲解

    先说下场景,C#中为什么要使用Aop,而我又是在哪里使用Aop? 本人只是想拦截实体类的Set的方法,然后在Set之前,调用一下其它方法,把值赋给另一个对象. 而我做的都是在实体类的基类里处理: 比如 ...

  5. D - Opponents

    Description Arya has n opponents in the school. Each day he will fight with all opponents who are pr ...

  6. Asset Catalog Help (五)---Migrating an iOS App Icon Set or Launch Image Set

    Migrating an iOS App Icon Set or Launch Image Set Simplify image management by moving existing app i ...

  7. Multipath TCP on iOS11 : A closer look at the TCP Options(转)

    Multipath TCP uses a variety of TCP options to use different paths simultaneously. Several Multipath ...

  8. Laravel中的查询构造器

    public function query(){ //新增数据 //$bool = DB::table('wd_user')->insert(['username'=>'jack']); ...

  9. MySQL存储引擎的区别

    一.mysql中myisam,innodb和memory三个存储引擎的区别 1.区别:1) MyISAM管理非事务表.提供高速存储和检索,以及全文搜索能力.MyISAM在所有MySQL配置里被支持,是 ...

  10. 走进VR游戏开发的世界

    http://geek.csdn.net/news/detail/76504 我们组在2014年下半年尝试开发了一款Xbox One平台的体感游戏,2015年上半年进行收尾工作的同时,结合之前积累的体 ...