【问题标题】:Making HTTP requests during maven archetype:generate在 Maven 原型期间发出 HTTP 请求:生成
【发布时间】:2014-03-14 08:04:15
【问题描述】:

我正在构建用于在公司内创建标准化项目的原型。生成的实际项目文件很好,我现在想将原型与设置基础设施的过程集成,例如 Stash 存储库和 Jenkins 作业。

例如,简单地说,我希望 maven archetype:generate 进程包含一个到 http://stash.example.com/rest/api/1.0/projects/LABS/repos/{artifactId} 的 HTTP REST POST 以创建 GIT 存储库。

同样,Jenkins 构建作业也有类似的东西。如果在创建 maven 项目之前,可以对 Stash/Jenkins 进行一些测试以防止名称冲突,我会很好。

我想解决这个问题的方法是将一些 maven 插件绑定到一些构建阶段。

我一直找不到任何现有的插件,或者在原型生成期间做类似事情的人的例子(没有 Groovy 锤子)。

  1. 是否有任何现有的 Maven 插件可帮助在构建期间发出 HTTP/REST 请求?
  2. 是否有任何现有的 Maven 插件可以帮助访问 Stash 或 Jenkins API?
  3. 哪些 Maven 阶段适合检查远程系统的选定名称/ID,哪些阶段适合实际创建远程资源?

有没有人尝试过这种事情,如果有,效果如何?

我看到一些相关的问题

还有一些潜在的插件

【问题讨论】:

    标签: maven jenkins maven-plugin maven-archetype bitbucket-server


    【解决方案1】:

    有几种方法可以做到这一点。我们之前使用的两种方法是:

    1.在里面使用 groovy - gmaven 插件和 RESTClient

    我们的代码在这里粘贴有点复杂,但我们做了一些与此非常相似的事情:

    Groovy Rest Invocation Using Maven

    2。 Antcontrib 的加载资源:

    例子:

    <loadresource property="build_start_date">
       <url url="${JOB_URL}/lastSuccessfulBuild/api/xml?xpath=/*/id/text()"/>
    </loadresource>
    

    这将连接到一个 hudson rest api,并为我获取存储在属性 build_start_date 中的最后构建日期。

    【讨论】:

      猜你喜欢
      • 2013-02-02
      • 1970-01-01
      • 1970-01-01
      • 2020-10-12
      • 2021-01-05
      • 1970-01-01
      • 2016-05-09
      • 1970-01-01
      • 2011-06-16
      相关资源
      最近更新 更多