问题描述

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

但是每次构建完成之后并没有将对应的 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 的用户名和密码给保存上,如下图所示:

然后,重新执行对应的构建任务,发现问题依然存在,而且日志文件中的错误信息也还一模一样,所以只能继续寻找其他解决方案。最后终于在 stackoverflow 上找到了对应的解决方案,具体操作如下。

解决方案

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

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

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

4. 删除 ~/.subversion 目录(如果存在的话): $ rm -fr ~/.subversion

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

至此,所有操作已经完成。你只需重新回到 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 提交上来了:

参考资料:
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. SVN提交代码报错,怎么破?

    目录 SVN提交代码报错 1. SVN提交被锁定(locked) 2. SVN提交已存在版本控制信息(is already under version control) SVN提交代码报错 1. SV ...

  2. SVN提交代码报错:svnlook: E000002:不能打开文件

    SVN提交代码时报错: Commit failed (details follow): Commit blocked by pre-commit hook (exit code 1) with out ...

  3. 【错误记录】Android Studio 向 GitHub 提交代码报错 ( Push failed: Failed with error: Could not read from remote )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 Android Studio 中首次向 GitHub 提交代码 , 报错 : Push failed: Failed with error: C ...

  4. 【错误记录】Android Studio 向 GitHub 提交代码报错 ( Push failed: Failed with error: Could not read | 使用命令行提交代码 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 Android Studio 中首次向 GitHub 提交代码 , 报错 : Push failed: Failed with error: C ...

  5. 阿里云Code(code.aliyun)提交代码时报错fatal: Authentication failed for‘https://code.aliyun.com/...‘身份验证失败

    阿里云Code(code.aliyun)提交代码时报错fatal: Authentication failed for'https://code.aliyun.com/-'身份验证失败,是因为阿里云登 ...

  6. Idea提交代码报错:Push rejected: Push master to origin/master was rejected by remote

    问题描述 Idea提交代码报错:Push rejected: Push master to origin/master was rejected by remote 问题分析 网上找了一些帖子,但是对 ...

  7. Eclipse下的SVN提交代码报错问题

    Eclipse下的Svn提交代码时,报了一个错误,特此记录 报错如下: URL access forbidden for unknown reason svn: Commit failed (deta ...

  8. svn提交代码报错:svn: E175002: Unexpected HTTP status 502 ‘Bad Gateway‘

    具体报错信息 最近在使用svn提交项目代码时,突然报错,具体报错信息为: svn: E175002: Commit failed (details follow): svn: E175002: Une ...

  9. 解决报错:全局安装@tarojs/cli后,使用taro命令报错:无法将“taro”项识别为 cmdlet、函数、脚本文件或可运行的...

    全局安装taro工具:npm install -g @tarojs/cli 查看Taro版本信息:npm info @tarojs/cli 报错原因:没有在电脑中配置taro的环境变量. 解决方法如下 ...

最新文章

  1. 【Android NDK 开发】NDK C/C++ 代码崩溃调试 - Tombstone 报错信息日志文件分析 ( 获取 tombstone_0X 崩溃日志信息 )
  2. http协议的缺点和确保web安全的https协议
  3. caioj 1066 动态规划入门(一维一边推4:护卫队)(分组型dp总结)
  4. 3ds Max Shortcuts 快捷键大全
  5. java 并发的原子性_Java并发教程–原子性和竞争条件
  6. uva 1630——Folding
  7. 一个简单的Eclipse调试Debug流程(四)
  8. Android开发基础(四大组件及Intent)
  9. druid mysql 时序_Druid时序数据库常见问题及处理方式
  10. 没错,支付也有个七层模型
  11. java 认证考试题,2017年Java认证考试试题
  12. Python数据结构-列表
  13. 股票重大利好开盘封涨停买不到?试试这个办法
  14. css朗逸保险丝盒机舱,【朗逸保险盒】朗逸保险盒位置图解、拆卸方法_车主指南...
  15. HashMap与HashSet
  16. 计算机安全原理与实践第3版PDF,windows安全原理与技术.pdf
  17. 骑行天下之北京到天津(1)
  18. 大数据导论答案_智慧树知到_大数据概论_章节测验答案
  19. 浙外国际学院副院长莅临实在智能,共探产学研合作新方向
  20. Linux性能监控工具sysstat

热门文章

  1. 第八章 Caché 使用持久对象
  2. 移动IP技术研究(转)
  3. 长除法计算平方根的方法总结与代码实现(C++, Python)
  4. 墨迹天气总显示内部服务器更新,互联网要点:墨迹天气无法更新如何解决方法教程...
  5. 豆芽菜推动大航海—不起眼的致胜因素之一
  6. 【棋牌游戏】JAVA服务器设计与开发(一)
  7. 建行计算机面试个人介绍,2013建设银行四川省分行个人面试经验分享
  8. 苹果放新卡显示无服务器,苹果6插卡无服务怎么办
  9. 发布DCWriter电子病历文本编辑器
  10. 浏览器兼容性调整(非原创)