[英]Jenkins svn export build step
在我的Jenkins服务器上,我有一个项目,该项目从SVN中检出一些源代码,并运行一个名为MakeInstaller.ps1的生成脚本,该脚本与源代码一起检出。 这很简单,这部分效果很好。
不能正常工作的是,MakeInstaller.ps1的一部分试图对某些其他源代码的特定修订版进行svn导出,但是它没有连接到SVN的凭据。 当我在PC上运行构建脚本时,这完全没问题,因为Tortoise SVN已缓存凭据。
Jenkins已经拥有我的SVN凭据,但是仅在Jenkins签出源代码时使用,而在我的构建脚本尝试签出源代码时才使用。
我试过了:
我觉得我走错了路。 在Jenkins SVN插件已经在使用的SVN客户端旁边,在该计算机上安装Tortoise SVN似乎有点奇怪。
我的问题:有没有办法从Jenkins的内部构建脚本中导出SVN,并使用Jenkins已经知道的凭据进行导出? 我可以使用与Jenkins SVN插件相同的svn.exe吗? 我真的不想在构建脚本本身中包含凭据。
我发现的大多数类似问题都涉及由于凭证不正确而导致的初始签出失败,而不是作为构建脚本的一部分发生的签出。
最后,我最终做了类似Jenkins的操作:在powershell中访问全局密码
我必须使用EnvInject,因为当我尝试保存项目时,凭据绑定插件给我一个错误。 这涉及将我的SVN密码的另一个实例添加到Jenkins,并将Jenkins用户名硬编码到我的构建脚本中,但是它可以正常工作。
现在,构建脚本尝试使用虚拟svn info命令进行身份验证。 如果我在本地计算机上运行脚本,则该脚本可以正常运行,并且无需用户名或密码即可继续运行。 如果dummy svn info命令失败,它将尝试使用--username Jenkins和--password $ env:svnpassword登录,其中svnpassword环境变量由EnvInject提供。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.