我正在尝试在 Jenkins 中执行构建后 svn commit
命令。
我可以访问 http://myrepo.com/myProject ...
但我没有 http://myrepo.com/
(访问权限是禁止的)。结果,当我提交时出现以下错误:
svn commit --message "Build #xx" myfile --non-interactive
svn: Commit failed (details follow):
svn: OPTIONS of 'http://myrepo.com/myProject/myfile': authorization failed: Could not
authenticate to server: rejected Basic challenge (http://myrepo.com)
最佳答案
当您从命令行运行 svn 时,您无权访问 凭据存储在 Jenkins 中。
让 svn 从命令行工作的最简单方法是提供
构建脚本中 svn 的 --username
和 --password
参数。
您还可以以 Jenkins 用户身份运行 svn 并让它存储身份验证 在 Jenkins 用户的主目录中。您必须设置身份验证 您自己在需要执行提交的每个节点上。而且很乏味 如果您的 SSL 证书或密码定期更改,请进行维护。但确实如此 将用户名、密码保留在构建脚本之外。
也许是像 SVN Publisher 这样的插件可以帮助您实现目标。
关于svn - 由于根文件夹被禁止,无法执行对 svn 的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7710630/