问题描写叙述

安装并启动 jenkins 后,加入了 SVN Publisher 插件,然后在构建任务的“构建后操作”操作中加入了“Publish to Subversion repository”相关的配置。如图所看到的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVtaW5nd2FuZzA5MDI=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

可是每次构建完毕之后并没有将相应的 jar 包成功提交到 svn 仓库中。在 jenkins 构建任务的“Console Output”页面中也并没有提示相关的错误信息。

系统环境

操作系统:CentOS 6.5

JDK: 1.6.0_45

Jenkins:1.602

问题分析

由于构建任务的“Console Output”页面没有显示不论什么错误信息。所以就查看 jenkins 的日志文件(/var/log/jenkins/jenkins.log)了。在日志文件的末尾处看到了相关的错误信息:

Mar 20, 2015 6:28:39 PM com.mtvi.plateng.subversion.SVNForceImport forceImport
INFO: null Name
SVNForceImport Error: svn: E170001: Authentication required for '<http://svn-server:80> CentOS Code Slave SVN1.7.16 Server'
Mar 20, 2015 6:28:40 PM com.mtvi.plateng.subversion.SVNForceImport forceImport
SEVERE: *SVNForceImport Error: svn: E170001: Authentication required for '<http://svn-server:80> CentOS Code Slave SVN1.7.16 Server'

从上述错误信息可得知是由于 SVN 的安全认证失败了,从而导致文件没有被正确提交到 SVN。

于是尝试通过“系统管理”-->“系统设置”。改动 SVN Publisher 插件的全局设置,将 SVN 的username和password给保存上,例如以下图所看到的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVtaW5nd2FuZzA5MDI=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

然后,又一次运行相应的构建任务,发现问题依旧存在,并且日志文件里的错误信息也还一模一样,所以仅仅能继续寻找其它解决方式。最后最终在 stackoverflow 上找到了相应的解决方式,详细操作例如以下。

解决方式

1. 改动用户 jenkins 的默认 shell。将 /etc/passwd 文件里以 jenkins 开头的那一行末尾处的 /bin/false 改为 /bin/bash,改动后的结果为:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVtaW5nd2FuZzA5MDI=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

2. 安装 subversion(假设没有安装过的话): # yum install subversion

3. 将 Linux 终端换为 jenkins 用户: # su - jenkins

4. 删除 ~/.subversion 文件夹(假设存在的话): $ rm -fr ~/.subversion

5. 运行一下 svn  的 checkout 操作,目的是保存 svn 的username和password: $ svn checkout --username dev-ci(你的 SVN username) http://svn-server/testRepository/trunk/。输入完password后。会询问你是否须要保存password。输入 yes 以保存 SVN password。

至此。全部操作已经完毕。你仅仅需又一次回到 jenkins 的视图页面。又一次运行相应的构建任务就可以。本次运行完毕后,“Console Output”页面的末尾处多输出了几条将文件提交到 SVN 的信息:

SVN Publisher: target: /var/lib/jenkins/jobs/my-jenkins-task/workspace/target
SVN Publisher: Deleting Remote Item: xxx.jar
SVN Publisher: Importing Item: xxx.jar
Finished: SUCCESS

使用 TortoiseSVN 浏览版本号库,看到确实将相应的 jar 提交上来了:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVtaW5nd2FuZzA5MDI=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

參考资料:

http://stackoverflow.com/questions/18417597/svn-checkout-not-working-for-jenkins

http://stackoverflow.com/questions/17464993/jenkins-cannot-acces-to-svn-https

jenkins 安装 SVN Publisher 后向 svn 提交代码报错: E170001: Authentication required for...的更多相关文章

  1. (转载)jenkins 安装 SVN Publisher 后向 svn 提交代码报错: E170001: Authentication required for...

    问题描写叙述 安装并启动 jenkins 后,加入了 SVN Publisher 插件,然后在构建任务的“构建后操作”操作中加入了“Publish to Subversion repository”相 ...

  2. svn 提交代码报错

    svn 提交代码报错 最近新安装了TortoiseSvn 1.92,在上传代码,其中有新增加的文件,出现如下错误: 解决方法: 1.用vs生成patch文件 2.生成的patch文件中讲nonexis ...

  3. git提交代码报错 trailing whitespace的解决方法

    1. git提交代码报错 trailing whitespace 禁止执行pre-commit脚本 进入到项目目录中 chmod a-x .git/hooks/pre-commit 2.git提交代码 ...

  4. git连接不上远程仓库---visualstudio提交代码报错:no upstream configured for branch 'master'

    1,新建文件夹,在文件下下鼠标右键git bush--->git init,初始化仓库: 2,设置gitthub仓库地址:git remote add origin https://github ...

  5. Git提交代码报错Git push error:src refspec XXX matches more than one解决方案

    Git提交代码push时,报错这个 error: src refspec master matches more than one. error: failed to push some refs t ...

  6. 提交代码报错 error: failed to push some refs to

    在本人想把本地的分支推送到远程仓库时,突然出现了错误提醒error: failed to push some refs to....心里一咯噔,推不上去这还得了,手比脑快地就去google了一下. 然 ...

  7. 码云 VS首次提交代码报错:failed to push some refs to 'https://gitee.com/Liu_Cabbage/ASP.NET-MVC-QQ-Connect.git'

    打开命令提示符: 执行合并命令: git pull --rebase origin master 最后总结: 1.多为第一次提交代码,本地和码云仓库不一致,README.md文件不在本地代码目录中 2 ...

  8. svn断开链接后,重新share提交代码报错

    前言:svn怎样断开链接并清除干净请查看此地址-->android studio中断开SVN连接,并彻底清理项目中的.svn文件 1.每次把项目重新关联到新的svn地址上,我都抓狂一样的烦躁,因 ...

  9. ubuntu 16.04 安装完QQ后,更新或apt-get报错

    apt-get install python-pip正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 您可能需要运行“apt-get -f install”来纠正 ...

随机推荐

  1. JSP的学习(7)——九大隐式对象之pageContext对象

    本篇来讲诉JSP中九大隐式对象中最后一个,也是最重要的一个对象——pageContext对象. pageContext对象代表了该JSP页面的运行环境,它的作用有: ① 这个对象封装了对其它八大隐式对 ...

  2. oracle切割字符串后以单列多行展示

    原始的sql: select substr(field1, instr(field1, '|', 1, rownum) + 1, instr(field1, '|', 1, rownum + 1) - ...

  3. hdu5086——Revenge of Segment Tree

    Revenge of Segment Tree Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/ ...

  4. linux下编译原理分析

    linux下编译hello.c 程序,使用gcc hello.c,然后./a.out就能够执行:在这个简单的命令后面隐藏了很多复杂的过程,这个过程包含了以下的步骤: ================= ...

  5. HDU 2098 分拆素数和(素数)

    HDU 2098 分拆素数和(素数) http://acm.hdu.edu.cn/showproblem.php?pid=2098 题意: 给你一个偶数,问你这个偶数有多少种方式能由两个不同的素数构成 ...

  6. qt新进程工作目录的设置(工作目录确实是被子进程继承的,但也可以设置)

    经过试验,qt启动一个新的进程时,这个进程的工作目录是继承父进程的,无论是通过start还是startDetached来启动. 其实对于linux系统,qt底层应该也是调用fork.exec之类的函数 ...

  7. 设定十分钟android在状态栏上集成的开源project推荐

    1.前言 于android kitkat 有一个新功能可以设置背景的手机状态栏,让手机风的整个界面格是一致的,它看起来非常酷,在今年的google i/o向上android l这样的风格.来如今看我们 ...

  8. wikioi 1014 装箱问题

    来源:http://wikioi.com/problem/1014/ 1014 装箱问题 29人推荐 收藏 发题解 提交代码 报错 题目描写叙述 输入描写叙述 输出描写叙述 例子输入 例子输出 提示 ...

  9. 无锁队列--基于linuxkfifo实现

    一直想写一个无锁队列,为了提高项目的背景效率. 有机会看到linux核心kfifo.h 原则. 所以这个实现自己仿照,眼下linux我们应该能够提供外部接口. #ifndef _NO_LOCK_QUE ...

  10. Python使用heapq实现小顶堆(TopK大)、大顶堆(BtmK小)

    Python使用heapq实现小顶堆(TopK大).大顶堆(BtmK小) | 四号程序员 Python使用heapq实现小顶堆(TopK大).大顶堆(BtmK小) 4 Replies 需1求:给出N长 ...