使用 ant 项目的 jenkins 集成在 svn 上生成 jar
Posted
技术标签:
【中文标题】使用 ant 项目的 jenkins 集成在 svn 上生成 jar【英文标题】:Generating a jar on svn using jenkins integration of ant project 【发布时间】:2014-10-09 09:13:42 【问题描述】:我创建了一个 java 项目并为该项目生成了一个 ant 构建文件。 ant 文件基本上由从 java 文件生成 jar 的代码组成。 我的项目存储在svn中。 所以我使用 subversion 选项来提及存储库 url。 我想要的是在jenkins中成功构建后,jar文件应该在项目当前所在的svn位置生成。 在 jenkins 中构建项目后,可以看到构建成功,但 jar 未在 svn 存储库中生成。 请帮助我配置 jenkins,以便在构建 jar 文件后在 svn 位置生成。
【问题讨论】:
【参考方案1】:当您使用 Jenkins 构建项目时,Jenkins 所做的第一件事就是将您的代码从 svn 检出到 Jenkins 工作区。构建将从工作区进行,并且工件(jar/war/ear)将在工作区中创建。
我的 Jenkins 工作区在哪里?
您可以从Configure Job
>> Advanced Project Options
提及该作业的自定义工作区。
如果您不使用此选项,默认情况下工作区将位于 Jenkins_Home 目录下。 Jenkins_home/jobs/my_job/workspace/
此外,将工件添加回 svn 并不是一个好习惯。
【讨论】:
【参考方案2】:使用 ant 的 svn task 提交由你的构建创建的 jar。
见下文片段
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml"
classpathref="svnant.classpath"/>
<svnSetting id="svn.settings" username="$svn.username" password="$svn.pw"
javahl="false" svnkit="true" failonerror="true"/>
<target name="commit">
<svn refid="svn.settings">
<commit file="$webcontent/version.properties"
message="commit version from build.xml by $user.name"
/>
</svn>
</target>
只需输入您的用户名和密码
【讨论】:
只是最完美的答案以上是关于使用 ant 项目的 jenkins 集成在 svn 上生成 jar的主要内容,如果未能解决你的问题,请参考以下文章