如何为jenkins作业动态设置本地maven repo

时间:2015-04-22 18:39:08

标签: maven jenkins jenkins-plugins

我正在尝试使用Jenkins远程访问API创建一个jenkins作业[1]。我想要实现的是,我想使用我发送到创建作业API的作业配置(config.xml)为作业指定本地maven存储库(而不是使用全局存储库)。我怎样才能做到这一点?我应该添加(或更改)的xml属性是什么?

[1] https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API

3 个答案:

答案 0 :(得分:0)

根据API,它有类似的东西:

curl -X POST -H "Content-Type:application/xml" -d @config.xml "http://JENKINS_HOST/createItem?name=Some_Job_Name"

答案 1 :(得分:0)

根据需要手动配置作业,然后访问URL $JENKINS/job/$JOB/config.xml - 您将能够看到所需配置所需的XML标记。

答案 2 :(得分:0)

我们可以通过在作业配置中指定localRepository元素来为特定作业定义本地maven存储库。 默认情况下,jenkins开箱即可支持三种选项。

  1. 默认存储库(〜/ .m2 / repository)

    <localRepository class="hudson.maven.local_repo.DefaultLocalRepositoryLocator"/>
    
  2. 执行者的本地

    <localRepository class="hudson.maven.local_repo.PerExecutorLocalRepositoryLocator"/>
    
  3. 工作区的本地

    <localRepository class="hudson.maven.local_repo.PerJobLocalRepositoryLocator"/>
    
  4. 因此,如果要根据构建参数或构建信息定义自己的本地存储库定位器,可以扩展hudson.maven.local_repo.LocalRepositoryLocator类并实现自己的逻辑并在作业中的localRepository元素下指定它组态。 例如:

    <localRepository class="org.sample.MyOwnLocalRepositoryLocator"/>