使用 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的主要内容,如果未能解决你的问题,请参考以下文章

jmeter + ant + jenkins 自动化集成环境搭建

Jenkins+Ant+JMeter集成

jenkins, ant, pmd持续集成

jmeter+Ant+Jenkins开展接口自动化测试集成

Jenkins + Jmeter + Ant 持续集成搭建

Jenkins + Jmeter + Ant 持续集成搭建