我正试图在一个用maven工具构建的scala项目上实现azure。
我必须在项目中使用版本管理,这样我就可以在scm连接和maven发布插件下面使用,如下面的pom.xml文件所示。
...
...
<groupId>com.group.id</groupId>
<artifactId>engineering-parsers</artifactId>
<packaging>pom</packaging>
<version>1.0.0-SNAPSHOT</version>
....
....
....
<scm>
<connection>scm:git:git@git.org.com:data-layer/engineering-parser.git</connection>
<developerConnection>scm:git:git@git.org.com:data-layer/engineering-parser.git</developerConnection>
<url>https://git.org.com/data-layer/engineering-parser</url>
<tag>v1.0.0</tag>
</scm>
...
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>3.0.0-M1</version>
<configuration>
<tagNameFormat>v@{project.version}</tagNameFormat>
<checkModificationExcludes>
<checkModificationExclude>pom.xml</checkModificationExclude>
</checkModificationExcludes>
</configuration>
</plugin>
</plugins>
</build>
...
...我在azure管道中添加了一个maven任务,如下所示,并提供了命令release:prepare,并尝试了-批处理模式的发布:清洁发布:准备-Dtag=2.0.0 -DreleaseVersion=2.0.0 -DdevelopmentVersion=2.0.1- -Dusername=Personal%20Access%20Token -Dpassword=xxxxxGIT PATxxxxx

在运行构建管道时,maven构建由于抛出以下错误而失败。

看起来,使用所提供的命令,我无法连接到git存储库并将更改推送到repo中。
在与devops一起使用maven发布插件时,还有什么需要添加的吗?
任何线索都要感谢!
发布于 2020-12-14 02:53:41
错误,git-提交命令失败。……
您似乎还没有传递身份验证信息。
您可以尝试在您的project.scm.id文件中添加pom.xml。
<properties>
<project.scm.id>my-scm-server</project.scm.id>
</properties>然后,您可以添加一个Settings.xml文件来传递auth。
<settings>
<servers>
<server>
<id>my-scm-server</id>
<username>myUser</username>
<password>myPassword</password>
</server>
</servers>
</settings>这是医生,你可以参考它。
或者您可以尝试在命令中传递身份验证信息(不推荐)。
release:prepare -Dusername=[username] -Dpassword=[password] 您可以参考这张票获得更多信息。
根据pom.xml中的值而不是硬coding..Is有什么办法吗?
为了实现这一目标,需要使用powershell脚本获取相应位置的值,并将其设置为管道变量。
例如:
$filePath = "filepath/pom.xml"
[xml]$pomXml = Get-Content $filePath
$version = $pomXml.project.version
Write-Host "##vso[task.setvariable variable=version]$version"在这种情况下,您可以获得与json文件位置相对应的参数值。
然后可以使用变量(例如$(version))替换硬编码。
更新:
您可以尝试在maven任务之前添加其他命令行任务,以运行git config命令。
git config --global user.email "you@example.com"
git config --global user.name "PAT"

发布于 2020-12-11 10:55:01
您需要将参数-B添加到Maven调用中,以避免交互模式。
https://stackoverflow.com/questions/65249497
复制相似问题