使用maven进行工件部署需要什么?

时间:2014-09-16 05:32:05

标签: maven deployment archiva

我正在建立一个基于apache Archiva的存储库存档的CI系统。在那里部署文件的各种技术中,最有希望的一种似乎是使用maven(而不是需要太多curl调用的REST api和不适合自动化的Web接口)。

似乎对于部署工件,例如构建工件的zip存档,在maven中有以下插件:deploy:deploy-file。但是,尝试简单地调用该命令没有给我任何结果。

我之前没有和maven合作过;目前我们的构建是通过在源目录上调用cmake,然后从shell脚本调用make来完成的。我需要添加什么,并且必须能够使用maven来部署生成的人工制品?

是否有必要创建一个pom文件?如果是这样,我需要添加哪些步骤?

3 个答案:

答案 0 :(得分:1)

您可以使用deploy:deploy-file上传这些工件,默认情况下会为您生成POM。你需要的是:

  1. 安装Maven
  2. 创建一个settings.xml文件,其中包含<server>元素,其中包含通过HTTP部署到Archiva的凭据
  3. 这里有更多信息:http://maven.apache.org/plugins/maven-deploy-plugin/usage.html。如果要生成POM,则需要提供groupId(不同的工件分组),artifactId(不带版本的文件名),version(工件版本)和{{ 1}}(通常是扩展名,例如packaging)参数以及ziprepositoryIdurl所需的参数。

    但是,不需要使用Maven或REST API - 您也可以使用简单的HTTP PUT调用:

    file

    您也可以使用scp,ftp等将文件直接放在Archiva文件系统中。请注意,在这种情况下,您必须等待Archiva的预定扫描才能将其取出。

答案 1 :(得分:0)

Maven需要一个类似WebDAV的存储库(参见Nexus,Artifactory)来部署其工件(主要是jar,war,ear或assemblies。 查看here了解如何使用Archiva设置Maven。

答案 2 :(得分:0)

是的,有必要在maven中使用pom.xml,而且很明显你需要在你的机器上安装maven。最低限度,您需要提供工件ID(如jar的名称),组ID(如用于识别存储库中工件位置的包)和版本。默认情况下,包结构将为jar,除非您将其称为war / ear / pom。如果要使用任何依赖项,可以在依赖项部分中提及它们。

以下是所需的最小pom。

<project xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                      http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <version>1.0-SNAPSHOT</version>
  <name>Maven Quick Start Archetype</name>
</project>

Here是熟悉maven的快速教程。

相关问题