当前位置: 首页 > 知识库问答 >
问题:

使用Azure DevOps管道将自定义maven工件/包(*.jar)发布到Azure工件

张鸿志
2023-03-14

我想在Azure运营模式管道的帮助下,使用maven将我的自定义工件/包(*. jar)推送到Azure工件。我正在使用java

我可以通过Azure管道中的以下脚本/命令来执行此操作。

 mvn deploy:deploy-file -DgroupId="com.mypkg" `
-DartifactId="my.artifact" `
-Dversion="1.0.0-SNAPSHOT" `
-Dpackaging=jar `
-Dfile="my.artifact-1.0.0-SNAPSHOT.jar" `
-DgeneratePom="true" `
-DrepositoryId="$AZURE_FEED_ID" `
-Durl="$AZURE_FEED_URL";

我想知道这是否可以由任何Azure管道任务完成,如“-task:Maven@3“因为Azure DevOps为npm、Gradel、Python等提供发布任务,但不为maven提供。

共有1个答案

仰城
2023-03-14

我想知道这是否可以由任何Azure管道任务完成,如“-task:Maven@3"

是的,maven部署步骤可以通过Maven任务完成。

这是一个例子:

- task: Maven@3
  displayName: 'Maven pom.xml'
  inputs:
    mavenPomFile: pom.xml
    goals: 'deploy:deploy-file'
    options: '-DgroupId="com.mypkg"  -DartifactId="my.artifact" -Dversion="1.0.0-SNAPSHOT"  -Dpackaging=jar -Dfile="my.artifact-1.0.0-SNAPSHOT.jar" -DgeneratePom="true" -DrepositoryId="$AZURE_FEED_ID" -Durl="$AZURE_FEED_URL"'

可以在目标字段中定义 deploy 命令,也可以在选项字段中定义参数。

有关更多信息,请参阅有关Maven任务的文档。

 类似资料:
  • 我正在编写一个声明性Jenkins管道脚本,以构建工件并将其发布到JFrog Artifactory 我们只有一个项目存储库,服务位于services文件夹下。所有服务都有自己的pom。xml。我们需要编写一个脚本到管道脚本,只有在服务的单个目录结构中检测到更改时,才能构建工件并将其发布到JFrog 根据客户要求,我们不能为每项服务设置单独的存储库。这里的问题是,使用下面的脚本(使用rtUploa

  • 我试图使用Gradle将Jar文件发布到Azure DevOps工件中,但我得到了以下错误信息: 失败:生成失败,出现异常。 > 问题:在根项目“Project1”中找不到任务“publish”。 尝试:运行gradle tasks以获取可用任务的列表。使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。运行--扫描以获得完整的洞察力。

  • 首先-我知道,根据官方MS文档,通过部署控制更新具有发布状态的工作项的内置功能仅在发布管道中受支持,而在多阶段YAML管道中不受支持(请参阅此处记录的第一个注释:https://docs.microsoft.com/en-us/azure/devops/boards/work-items/work-item-deployments-control?view=azure-德沃斯) 是否有人使用pow

  • 我目前正在尝试在Azure运营模式服务器中设置一个包含多个工件的发布管道。第一个工件是从构建管道发布的,另一个工件是托管在Azure工件提要中的NuGet包。 当我创建和部署版本时,它成功下载了第一个工件,没有问题,当它继续下载NuGet包时,任务被标记为成功,但是它无法下载日志中包含以下内容的NuGet包。 知道会发生什么吗?

  • 看起来,PublishBuildArtifacts任务在发布环境中不可用。 https://docs.microsoft.com/de-de/azure/devops/pipelines/tasks/utility/publish-pipeline-artifact?view=azure-德沃斯 但是,当我们的客户从Azure存储库(通用软件包)中获取新的工件版本时,有机会通过发布管道发布这些工件

  • 我一直在努力解决Azure DevOps中的一个问题,我可以通过构建管道成功构建工件(我使用发布工件任务)。我可以看到该工件已成功构建,因为我可以下载它,并在稍后的发布管道中引用它。 问题是,当启动托管代理时,不会将任何工件下载到计算机,并且我的$(System.DefaultWorkingDirectory)始终为空。我不知道为什么在托管代理的初始化过程中,实际上没有下载任何工件。。。。