首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >maven发行版:准备进入天蓝色构建管道

maven发行版:准备进入天蓝色构建管道
EN

Stack Overflow用户
提问于 2020-12-11 10:21:25
回答 2查看 3.1K关注 0票数 1

我正试图在一个用maven工具构建的scala项目上实现azure。

我必须在项目中使用版本管理,这样我就可以在scm连接和maven发布插件下面使用,如下面的pom.xml文件所示。

代码语言:javascript
复制
...
...
<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发布插件时,还有什么需要添加的吗?

任何线索都要感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-14 02:53:41

错误,git-提交命令失败。……

您似乎还没有传递身份验证信息。

您可以尝试在您的project.scm.id文件中添加pom.xml。

代码语言:javascript
复制
<properties>
  <project.scm.id>my-scm-server</project.scm.id>
</properties>

然后,您可以添加一个Settings.xml文件来传递auth。

代码语言:javascript
复制
<settings>  
   <servers>  
      <server>
         <id>my-scm-server</id>  
         <username>myUser</username>  
         <password>myPassword</password>  
      </server>   
   </servers>
</settings>

这是医生,你可以参考它。

或者您可以尝试在命令中传递身份验证信息(不推荐)。

代码语言:javascript
复制
 release:prepare -Dusername=[username] -Dpassword=[password] 

您可以参考这张票获得更多信息。

根据pom.xml中的值而不是硬coding..Is有什么办法吗?

为了实现这一目标,需要使用powershell脚本获取相应位置的值,并将其设置为管道变量。

例如:

代码语言:javascript
复制
$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命令。

代码语言:javascript
复制
git config --global user.email "you@example.com"
git config --global user.name "PAT"

票数 0
EN

Stack Overflow用户

发布于 2020-12-11 10:55:01

您需要将参数-B添加到Maven调用中,以避免交互模式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65249497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档