我在我的网络应用程序中使用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份工作。一个发送电子邮件,一个发送。
答案 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构建操作运行。该插件有一个选项(复选框),只有在以前的构建/步骤成功时才运行脚本。