标签: maven-release-plugin

Maven:POM文件或settings.xml中的分发管理配置

我想知道使用maven设置分发管理的最佳做法是什么.

我们在maven settings.xml和父pom文件中配置了nexus存储库.这在所有项目中都不一致,我们想让它保持一致吗?

什么是最好的方式?pom文件还是settings.xml?什么是利弊?

我们有一个论点,它应该在每个人的settings.xml中,以便他们可以在他们想要的地方发布它.

java hudson maven maven-release-plugin

1
推荐指数
1
解决办法
3770
查看次数

使用maven-release-plugin更新版本

我正在使用maven 3.0.4与cvs和jenkins的组合.

我有一个带有主pom和一些模块的多模块项目.

为了正确版本化,我在jenkins中设置了一些环境变量.

第一步是我在执行maven目标的jenkins中有一个预构建步骤:

--batch-mode release:update-versions -DdevelopmentVersion=${ACTUAL_VERSION}${BUILD_NUMBER}-SNAPSHOT
Run Code Online (Sandbox Code Playgroud)

现在,maven正在更新我父pom的版本以及从模块到父pom的连接.这一切都运行正常,但我有一些内部依赖关系模块之间没有更新.我怎么能强迫maven更新它们呢?

例:

--Parent - Module1 - Module2

在模块2中,存在对module1的依赖性,例如

<dependency>
    <groupId>xyz</groupId>
    <artifactId>module2</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

发布后:更新版本的父pom和模块已更新,但依赖项现在仍然引用旧版本.有没有办法更新这个依赖版本?

maven maven-release-plugin jenkins

1
推荐指数
1
解决办法
2369
查看次数

Jenkins与Subversion

/bin/sh: svn: command not found
Caused by: org.apache.maven.plugin.MojoFailureException: Unable to check for local modifications
Provider message:
The svn command failed.
Run Code Online (Sandbox Code Playgroud)

即使已经安装了"Subversion插件",Jenkins也找不到Subversion.

svn hudson svnkit maven-release-plugin jenkins

1
推荐指数
1
解决办法
3490
查看次数

如何使用快照在Maven多模块项目中默认子模块版本?

我看了之前关于这个主题的问题,看起来人们比我现在的位置领先一步.我目前正在尝试将maven发布插件用于我的多模块项目.我从头开始(更确切地说,我检索了一些旧项目以放入一个新的多模块项目).

我有一个POM父母,我定义为:

<groupId>com.somestuff</groupId>
<artifactId>stuff</artifactId>
<version>10.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name> stuff </name>
Run Code Online (Sandbox Code Playgroud)

我的子模块使用以下内容继承父模块:

<parent>
    <groupId>com.somestuff</groupId>
    <artifactId>stuff</artifactId>
    <version>10.0.0-SNAPSHOT</version>
</parent>
Run Code Online (Sandbox Code Playgroud)

因此,由于它是一个新项目,我将模块之间的依赖关系指定为快照.例如,如果模块A依赖于模块B,我将向A的POM添加部分:

    <dependencies>
    <dependency>
        <groupId>com.somestuff</groupId>
        <artifactId>divarmiclient</artifactId>
     <version>10.0.0-SNAPSHOT </version>
    </dependency>
    </dependencies>
Run Code Online (Sandbox Code Playgroud)

结果是,当我尝试执行"mvn release:prepare"时,Maven会大声说存在快照依赖项.但由于它是一个全新的项目,并且10之前的版本不存在,我不知道如何默认模块的版本值.我的问题是,我该如何默认模块值?如何从快照角度使我的多模块项目可接受?

snapshot pom.xml maven maven-release-plugin parent-pom

1
推荐指数
1
解决办法
2571
查看次数

在Git push命令中,在Windows上运行的Jenkins Release工件作业失败

我正在Windows上构建Jenkins作业以自动执行发布过程.因此我使用的是Maven发布插件.

当我在工作中执行Perform Maven Release时,它会要求我提供SCM登录,SCM注释前缀和SCM标记.但是,当执行git push以使用以下日志提交更改时,作业失败.

   [INFO] Checking in modified POMs...
   [INFO] Executing: cmd.exe /X /C "git add -- pom.xml"
   [INFO] Working directory: C:\Program Files (x86)\Jenkins\workspace\Upload REST Release      Artifacts
   [INFO] Executing: cmd.exe /X /C "git status"
   [INFO] Working directory: C:\Program Files (x86)\Jenkins\workspace\Upload REST Release  Artifacts
   [INFO] Executing: cmd.exe /X /C "git commit --verbose -F C:\windows\TEMP\maven-scm-1948138390.commit pom.xml"
   [INFO] Working directory: C:\Program Files (x86)\Jenkins\workspace\Upload REST Release Artifacts
   [INFO] Executing: cmd.exe /X /C "git symbolic-ref HEAD"
   [INFO] Working directory: C:\Program Files (x86)\Jenkins\workspace\Upload REST Release …
Run Code Online (Sandbox Code Playgroud)

git maven maven-release-plugin jenkins

1
推荐指数
1
解决办法
7311
查看次数

Jenkins Git插件试图在发行版本期间构建旧版本

我正在尝试使用发布Maven项目maven-release-plugin。Jenkins Git插件似乎无法正确签出存储库。

以下是我的Jenkins Job配置

仓库URL:git @ githubenterprise:/user/repo.git

要建立的分支:* / master

仓库浏览器:自动

其他行为:

  结帐到特定的本地分支:主

失败发行版的Git Build数据显示

修订:267 **
裁判/远程/起源/起源/大师
建分行

refs / remotes / origin / master:版本755的版本4 ** 
(参考/远程/原点/大师)
refs / remotes / origin / origin / master:版本267的内部版本10 *** 
(参考/远程/原点/来源/母版)

作业控制台显示

多个候选修订
计划另一个构建以赶上MyJenkinsBuildJob
检出267修订版**(参考/远程/原点/原点/主版)

755 **是存储库上的最新提交,而Git插件正在检查267 **修订版。因此,当maven-release-plugin尝试从旧提交中推迟发布准备发布时,构建将失败。

git-push命令失败。
命令输出:
到ssh:// git @ githubenterprise:/user/repo.git
 ![拒绝]管理员->管理员(非快进)
错误:无法将某些引用推送到“ ssh:// git @ githubenterprise:/user/repo.git”
为了防止您丢失历史记录,拒绝了非快速更新
合并远程更改,然后再次推送。

如何仅使Jenkins Git插件签出最新版本(在我的情况下为755 *),而不是尝试构建多个签出(不确定为什么这样做)

git github maven-release-plugin jenkins jenkins-plugins

1
推荐指数
1
解决办法
5302
查看次数

创建多个战争文件并使用 Maven 重命名它们

对于第一部分:我想在构建 maven 项目时生成多个 war 文件。第二部分:我想动态重命名这些文件。

例如:现在生成的文件名为 test.war。如果我想在单个构建中多次生成此文件,我希望文件的名称如下: test_1.war, test_2.war , test_3.war ...

你们有什么想法如何实现?我也可以创建一个 .bat 文件来做这些事情,但我不太确定如何:)

谢谢

maven-2 maven-plugin maven-3 maven maven-release-plugin

1
推荐指数
1
解决办法
2094
查看次数

&lt;tag&gt; 属性混淆(SCM、release:prepare)

之间有什么区别scm:tag

<scm>
    <connection>scm:git:code.stuff.com/scm/project/repo.git</connection>
    <developerConnection>scm:git:ssh://git@code.stuff.com:7999/project/repo.git</developerConnection>
    <tag>HEAD</tag>
</scm>
Run Code Online (Sandbox Code Playgroud)

release:prepare:tag:

我读到,在release:prepare目标过程中,系统会提示用户输入要粘贴的所需标签名称;准备工作成功完成后,Maven 将使用传递的名称在 VCS 中标记发布候选版本。此时,还有什么用呢scm:tag

maven-scm maven maven-release-plugin

1
推荐指数
1
解决办法
2273
查看次数

Maven发布插件 - 如何破解发布项目的版本

我正在使用詹金斯的maven发布插件进行CICD.由于各种原因,我们没有像我们想象的那样做SNAPSHOT.我们将Jenkins设置为针对master分支运行构建,版本为0.1,1.0.我们希望每次运行Jenkins时都会发布版本号.这些是我在Jenkinsfile中的命令:

sh "mvn -B release:clean"
sh "mvn -B release:prepare"
sh "mvn -B release:perform"
Run Code Online (Sandbox Code Playgroud)

结束了收到错误You don't have a SNAPSHOT project in the reactor projects list.因为release:prepare总是寻找SNAPSHOT分支,所以不足为奇.有办法解决它吗?我找到了这个选项-DignoreSnapshots,prepare但它没有用.

java maven maven-release-plugin jenkins

1
推荐指数
1
解决办法
3610
查看次数

maven发布:执行失败

我正在尝试理解maven-release-plugin(版本2.0,CVS).在释放准备工作很好.但我不明白为什么发布 - 执行不起作用?我已经测试了部署功能,我可以将工件部署到远程仓库,没有任何例外.

[INFO] [ERROR] BUILD ERROR
[INFO] [INFO] Failed to configure plugin parameters for: org.apache.maven.plugins:maven-deploy-plugin:2.4
[INFO] check that the following section of the pom.xml is present and correct:
[INFO] <distributionManagement>
[INFO]   <!-- use the following if you're not using a snapshot version. -->
[INFO]   <repository>
[INFO]     <id>repo</id>
[INFO]     <name>Repository Name</name>
[INFO]     <url>scp://host/path/to/repo</url>
[INFO]   </repository>
[INFO]   <!-- use the following if you ARE using a snapshot version. -->
[INFO]   <snapshotRepository>
[INFO]     <id>repo</id>
[INFO]     <name>Repository Name</name>
[INFO] …
Run Code Online (Sandbox Code Playgroud)

maven-2 maven-release-plugin

0
推荐指数
1
解决办法
2万
查看次数

maven scm - maven会自动创建标签吗?

我有以下配置 -

<scm>
<connection>scm:svn:http://example.com/tags/MyProject/MyProject-0.1</connection>
<developerConnection>scm:svn:http://example.com/tags/MyProject/MyProject-0.1</developerConnection>
<url>scm:svn:http://example.com/tags/MyProject/MyProject-0.1</url>
</scm>
Run Code Online (Sandbox Code Playgroud)

我的问题是每次scm配置上的项目版本更改都会发生变化.说从0.1到0.2等...我们是否需要确保在svn中创建这些标签或maven创建标签?如果Maven使用我的上述配置创建标签,我已经有http://example.com/tags/MyProject可用,但它没有标记上面的内容?

请问有什么想法吗?

maven-2 maven-3 maven-scm maven maven-release-plugin

0
推荐指数
1
解决办法
2864
查看次数

避免使用maven-release-plugin更新POM版本以进行下一次开发迭代

我正在用maven-release-plugin和git 做我的第一个版本.而不是标记我正在使用发布:分支目标.我同意完整的relase-flow流程,除了一点:所有本地依赖关系都会自动更新到开发分支中的下一个SNAPSHOT版本.

这是我的具体情况:我正在一个有20多个maven项目的项目中工作.假设在开发过程中它们都处于SNAPSHOT版本.我想用maven插件发布一个版本.发布完成后,所有POM版本都已递增并再次设置为SNAPSHOT.如果我只需要在一个项目的一行代码中进行更改(修复错误)并创建一个新版本,那么所有项目(默认情况下)都必须在我刚刚更改其中一个项目时再次增加它们的版本.

在我看来,使用上一版本的状态继续开发更有意义(所有版本都没有 SNAPSHOT).在下一个开发迭代中,我可以仅在我已更改的这些项目中手动设置下一个SNAPSHOT版本.在下一个版本中,只有已更改的项目才会"升级"为新版本,但不会全部升级到新版本.

我认为这种情况并不例外,但我没有找到信息怎么做(我不知道我是否打破了"释放"的哲学......)

Somedy知道如何避免将所有POM更新到下一个SNAPSHOT版本并将POM文件保留为重新版本?

先感谢您!

java maven maven-release-plugin

0
推荐指数
1
解决办法
2095
查看次数

使用 maven-release-plugin 时管道循环

强文本我有一个管道设置,可以在我提交到特定分支时进行自动发布。问题是我使用的 maven-release-plugin 将其更改提交到同一个存储库和分支。这会触发相同的管道并创建一个循环。

如何排除特定分支的sertain提交?

- step:
    name: TEST01 - Automatic build and test
    caches:
      - maven
    script:
      # Here I would like to add a check to stop if some criteria is met like commitmessage==[maven-release-plugin] or something similar
      - mvn release:clean release:prepare --batch-mode -f ggw- core/pom.xml -s ggw-core/external/settings-test01.xml
      - mvn release:perform -f ggw-core/pom.xml -s ggw-core/external/settings-test01.xml -X -e
Run Code Online (Sandbox Code Playgroud)

git maven-release-plugin bitbucket-pipelines

0
推荐指数
1
解决办法
1299
查看次数