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

问题描述

安装并启动 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

时间: 2024-10-09 16:58:41

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

更新svn版本后,在更新代码报错

Eclipse 导入项目与 svn 插件关联全过程记录 今天想整理一下相关项目的前端代码以及目录结构,故利用svn客户端(TortoiseSVN 1.7.2)从trunk上新建了一个branches,然后checkout到本地. 打开Eclipse,点击 File -> Import -> General -> Existing Projects Workspace -> Next -> 选中 select root directory,点击 Browse 浏览,确认项目本地

git连接不上远程仓库---visualstudio提交代码报错:no upstream configured for branch &#39;master&#39;

1,新建文件夹,在文件下下鼠标右键git bush--->git init,初始化仓库: 2,设置gitthub仓库地址:git remote add origin https://github.com/z*****g/lm.git 3,git pull origin master 4,git push --set-upstream origin master,关联一个远程分支,并从这个分支上传下带代码 git branch查看分支 git add . git commit -m "提交注

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

在本人想把本地的分支推送到远程仓库时,突然出现了错误提醒error: failed to push some refs to....心里一咯噔,推不上去这还得了,手比脑快地就去google了一下. 然后就发现,这个error发生的情况竟然还挺多样化.鉴于自己搜到的页面,都是分散的答案,所以在此做个总结,以免日后又碰到这类错误,烂记性又促使我花费一样的时间去寻找一样的答案. 分支名不完整 emmm,这个错误大概是最难发现的了,不是说难度系数高,而是大家都把以本地master与远程master为例去

ubuntu 16.04 安装玩QQ后,更新或apt-get报错

apt-get install python-pip正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 您可能需要运行“apt-get -f install”来纠正下列错误:下列软件包有未满足的依赖关系: python-pip : 依赖: python-pip-whl (= 8.1.1-2) 但是它将不会被安装 推荐: python-all-dev (>= 2.6) 但是它将不会被安装 推荐: python-setuptools 但是它将不会被安装 推荐: p

新安装完 tensorflow 后import tensorflow as tf 报错

>>> import tensorflow as tf /opt/anaconda3/lib/python3.6/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 =

eclipse使用egit提交代码报错

在eclipse上使用插件egit同步代码时出现如下错误 解决办法: 开eclipse中的windows-->Preferences-->Team-->Git-->Configuration-->User Settings. 然后点Add Entry新建一个键值对,输入http.sslVerify=false 如下图: 然后就可以正常的push,pull代码了

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

禁止执行pre-commit脚本 进入到项目目录中 chmod a-x .git/hooks/pre-commit 原文地址:https://www.cnblogs.com/wt11/p/8260107.html

git提交代码报错Permission denied, please try again

一. 之前一直可以正常使用,突然出现Permission denied, please try again,重试了很多次,最后使用了笨的方法,忘记密码,重新设置了新密码,然后在重新生成了ssh,解决成功 二. gitLab 设置SSH的方法 1. 查看秘钥是否存在 $cd ~/.ssh 2. 生成秘钥 $ssh-keygen -t rsa -C "[email protected]" 3. 查看SSH $cat id_rsa.pub 4. 找到settings 5. 点击SSH key

MySQL在windows系统中修改datadir路径后无法启动问题,报错1067

windows server2008下如何更改MySQL数据库的目录的帖子已经很多了,这里简单介绍一个步骤,如果不成功请先查看其它帖子. 更改默认的mysql数据库目录 将 C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data 改到 D:\MysqlData 1. 建立文件夹 D:\MysqlData 2. 停止 mysql 服务,将 "C:\Documents and Settings\