Jenkins成功构建后提交文件

3

我正在使用 Jenkins、Ant、Flex 和 Java 来制作我的 Web 应用程序。

目前,我在开始 Jenkins 构建之前,会更新 Flex src 中的构建版本文件并提交它。 我想避免这个手动过程,并让脚本为我完成。

文件内容如下:

Build=01_01_2013_10:43
Release=2.01

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

如何将此更改的文件提交到 SVN。 如果提交成功,希望能够进行构建。

问题2: 我想在构建开始一小时前向所有开发人员发送电子邮件。 "请提交您的更改。 1小时后将开始构建。" 我可以在电子邮件和(实际的 SVN 导出 + ant 构建)之间设置延迟吗?或者我必须安排一个小时的两个工作任务。一个用于发送电子邮件,另一个用于执行构建。

2个回答

5
你可以使用Subclipse SVN ant集成提交更改后的文件到SVN,包括身份验证:
<svnSetting
      svnkit="true"
      username="bingo"
      password="bongo"
      id="svn.settings"
  />
<svn refid="svn.settings">
    <commit file="your.file" />
</svn>

获取构建文件的用户名和密码有不同的选项。其中之一是使用参数化构建,在此处定义用户名称和密码作为构建参数,可以在构建文件中进行评估。
      username="${parameter.svn.username}"
      password="${parameter.svn.password}"

第二个选择是使用Jenkins 配置文件提供程序插件。您可以像参数化构建一样使用参数,但您可以从提供的配置文件中导入凭据,例如,可以通过属性文件进行导入。请参考Jenkins 配置文件提供程序插件
<property file="config.file" />

实际上,您也可以使用ant的执行任务来执行您的subversion提交文件。

为了在实际构建之前一小时发送电子邮件,您应该设置两个作业,这两个作业相隔一个小时进行调度。但是我认为在构建之前通知并不是好的做法,可以考虑更频繁地构建,甚至每次提交到svn。


谢谢@Markus。我们目前没有计划进行CI。我们的Flex项目构建需要近15分钟,大部分更改是简单的UI更改。我们目前每天进行定期构建。 - user418836
如果答案对您有用,如果您能接受它,那就太好了。 - Markus
我该如何获取svn的用户名和密码。我知道Jenkins会为每个作业存储这些凭据,但我该如何将这些凭据传递到构建文件中。 - user418836
这意味着我必须在构建文件中有用户名和密码。我需要一种将用户名和密码从Jenkins传递到构建文件的方法,而不是在构建文件中进行硬编码。在Jenkins项目期间提供的相同svn凭证应作为参数传递到构建文件中。 - user418836
2
Jenkins会定期检查"repo_a"是否有变更,如果有变更则进行构建。构建成功后,构建过程会通过更新版本文件的方式将结果提交回"repo_a"。这样做不会导致无限循环吗? - Bhavneet Singh Bajwa

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接