通过调用svn和maven在jenkins中创建作业



现在我有一个批处理文件,其中包含使用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 下更改

  1. 创建一个新作业
  2. 在源代码管理中,选择Subversion,指定您的repo和凭据
  3. 添加一个新的构建步骤-maven构建,指定您的maven目标("clean-install")
Jenkins是一个CI(连续集成)服务器。它可以用于生成基于ant或maven的项目的计划构建。它还可以通过一些触发事件来开始构建项目,例如向连接到它的SCM(git、svn、mercurial…)提交。你真的必须阅读它的文档才能更好地理解它。它有很好的教程。

最新更新