成功构建后,Jenkins提交文件

时间:2013-04-06 01:57:46

标签: file ant jenkins checkin post-commit

我在我的网络应用程序中使用Jenkins,Ant,Flex和Java。 目前我在Flex src中更新构建版本文件并在启动Jenkins构建之前提交它。 我想避免这个手动过程,让脚本为我做这个。

档案内容:

构建= 01_01_2013_10:43个
释放= 2.01

问题1: 我想更新此文件内容并编译我的代码,然后将此文件提交回svn。这样SVN就有了最新的构建版本号。

如何将此更改的文件提交到SVN。如果在成功构建之后发生提交,那将会很棒。

问题2:我想在构建开始前一小时向所有开发人员发送电子邮件。 “请提交您的更改。构建将在1小时内开始。”我可以在电子邮件和(实际的svn export + ant build)之间设置延迟                              或
我是否必须每隔一小时安排2份工作。一个发送电子邮件,一个发送。

2 个答案:

答案 0 :(得分:5)

您可以使用subclipse svn ant integration将更改的文件提交到SVN,包括身份验证:

<svnSetting
      svnkit="true"
      username="bingo"
      password="bongo"
      id="svn.settings"
  />
<svn refid="svn.settings">
    <commit file="your.file" />
</svn>

要获取构建文件的用户名和密码,您有不同的选项。一种方法是使用parametrized build,您可以在其中将用户名和密码定义为构建参数,可以在构建文件中进行评估。

      username="${parameter.svn.username}"
      password="${parameter.svn.password}"

第二种选择是使用jenkins config file provider plugin。使用此功能,您还可以使用参数化构建等参数,但可以从提供的配置文件中导入凭据,例如:可以通过

导入属性文件
<property file="config.file" />

实际上你也可以使用ant's exec task来执行你的subversion提交文件。

如果要在实际构建前一小时发送电子邮件,则应设置两个相隔一小时的作业。但我不认为在构建之前通知这是一个好习惯,考虑更频繁地构建甚至可能每次提交到svn。

答案 1 :(得分:1)

您还可以使用Post build Task插件(https://wiki.jenkins-ci.org/display/JENKINS/Post+build+task)将svn作为shell脚本执行(必须为运行Jenkins的用户从shell安装和验证svn)。

然后svn commit作为post构建操作运行。该插件有一个选项(复选框),只有在以前的构建/步骤成功时才运行脚本。

此处还提到了插件:Execute Shell Script after post build in Jenkins