更改密码后svn update命令失败,为什么使用相同的用户(jenkins),但会找到不同的用户名和密码?

2024-06-11 09:41:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我的团队使用Jenkins用python脚本生成iOS构建,使用subprocess.Popen()来运行shell命令。我的SVN密码昨天被更改了,我已经在Jenkins用户的~/.subversion文件夹下的Jenkins's Credentials&auth文件夹中更新了它。在

然而,svn update在终端和Jekins之间有不同的结果。在

在终端中,如果我通过

sudo su jenkins 

然后:

^{pr2}$

但是,在Jenkins中,我用subprocess.Popen( "svn update ..", shell=True,..,..)运行脚本,会得到错误:

whoami
jenkins

svn update "../../skins/MyApp/skin.bundle"
Updating '/Users/Shared/Jenkins/Home/workspace/MyAppSpace/skins/MyApp/skin.bundle':

svn: E215004: Authentication failed and interactive prompting is disabled; see the --force-interactive option
svn: E215004: Unable to connect to a repository at URL 'https://My_SVN_URL/skins/MyApp'
svn: E215004: No more credentials or we tried too many times.
Authentication failed

我知道这个问题可以通过svn update命令的add--username&password参数来纠正,而我不想修改我的脚本,但是做了一些系统环境设置。我更好奇终端和Jenkins之间的不同行为,为什么同一个用户会触发svn update命令,但会使用不同的用户名和密码集?在

编辑

svn info命令对终端和Jenkins脚本都有效。在


Tags: 用户命令脚本终端密码svnupdateshell