2011-08-31 148 views
6

在Jenkins(Hudson)我如何更改项目的结帐位置。Jenkins(Hudson)SVN checkout dir

我想签出该项目的Apache2的文档根是在/var/svn/project 默认詹金斯检查出来的/jobs目录上/lib/jenkins/

我想运行shell命令复制的将作业文件夹中的代码检出到doc-root中,但它将复制整个文件夹,即使它的单个文件已被更改。

我应该看在与rsync或可詹金斯做到这一点(甚至用插件)

+0

所以,它听起来就像你希望你的詹金斯的工作部署到Apache服务器? – Tony

+0

是的。使用ftp插件,我设法让它部署在我们的远程服务器上,但我不能让它更新本地服务器上的代码。 apache和jenkins和svn都在同一台服务器上 – heshanh

+0

听起来像你应该移动Jenkins,所以你也可以使用FTP插件。但是,您应该能够使用作业脚本来获得我想象中的相同效果。我们的工作使用scp将文件从Jenkins工作区移动到我们需要的地方。 – Tony

回答

9

有一个在詹金斯的选项来改变你的工作空间的位置...

在作业配置页面,在“高级项目选项”一节下,单击“高级”按钮。

选中“使用自定义工作区”旁边的框,然后填写您想要结帐的位置。

+1

我的脚本中有自定义生成的工作空间。 。但是我想在另一个目录结帐?它说绝对路径是不允许的,我该怎么做? – aProgrammer

+0

Jenkins总是会检查你的工作区 - 无论是默认还是自定义工作区。你的脚本是什么意思是在工作区,但你想看看广告不同的地区。 – Sagar

1

Jenkins SVN插件没有这个选项。 但是,我可以通过目录Junction Link在Windows上实现它 - 并且您可以在具有符号链接的* nix安装上执行相同的操作。

具体来说,我cd'ed到詹金斯工作/ myjob/workspace目录,并在詹金斯项目(下源代码管理)的Subversion配置然后做这个

mklink /J junction_to_working_copy c:\my\real\working\copy 

为“本地模块目录(可选)”字段我进入:

junction_to_working_copy 

该做的伎俩不够好