现在我有一个批处理文件,其中包含使用svn更新项目并调用maven"clean install"的命令。如何在詹金斯为类似的行动创造一些就业机会?我应该把它写到ant文件中吗(很抱歉,如果这是一个愚蠢的想法,我刚刚听说过,但我不知道它到底是什么,我能用它做什么)还是有其他方法?
感谢
与建议的arghtype一样,您需要使用Jenkin自己的源代码管理,将SVN配置为SCM源代码,并在Maven构建作业中提供凭据。
如果让使用您自己的本地工作副本,您组织错误,您将失去让Jenkins管理SVN更改的所有好处,最终,该组织将在未来给您带来更多无法解决的问题。想想人们在这里给出的建议,并提出一个原因为什么你需要在Jenkins构建机器上拥有Jenkins管理之外的本地工作区。我唯一的猜测是:你的詹金斯和发展机器是一样的。这也不是它应该如何组织的。Jenkins是一个CI服务器,而不是个人构建的"自动化器"。
不管怎样,如果你还想照你说的去做。
你认为你想要什么
- 创建一个新的自由风格作业
- 在Build Steps下,单击Add Build step
- 选择执行Windows批处理命令
- 在其中编写批处理执行命令。您的工作目录将是Jenkins的
$WORKSPACE
,因此相应地将路径更改为要运行它的位置
但是使用上面的配置,您可能还需要将批处理文件放在windows调度程序下。。。你并不是真的在用詹金斯做上面的事。
您应该做什么
- 创建一个新的maven2/3构建作业
- 在源代码管理下,选择子版本
- 在存储库URL下输入远程SVN存储库(即
http://your.svnsever.com/path/to/project
) - 在Build下,输入您的Root POM位置(这将与SVN签出的位置相对,因此如果您的POM位于
http://your.svnserver.com/path/to/project/maven/pom.xml
下,则输入maven/pom.xml
- 在目标和选项下,输入
clean install
- 单击保存
源代码管理部分将负责设置本地工作区并将存储库签入该工作区。默认情况下,每次触发新的构建时,它都会在该工作区上为您运行svn update
。
Maven Build步骤将负责运行Maven,但请注意,它被配置为使用默认的~/.m2/repository
位置。如果您的本地maven回购需要不同,请在Jenkins Global Configuration 下更改
- 创建一个新作业
- 在源代码管理中,选择Subversion,指定您的repo和凭据
- 添加一个新的构建步骤-maven构建,指定您的maven目标("clean-install")