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

Azure DevOps-如何在pom文件的构建最终名称中引用管道变量?

咸利
2023-03-14

我正试图通过Azure管道用maven 3.6.1构建一个Java应用程序。

如何引用构建中管道公开的预定义变量

https://docs.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops

我正在尝试类似的方法,但无法解决:

<build>
    <finalName>${project.artifactId}-${project.version}-${env.Build.BuildNumber}</finalName>

对于我的管道,我在构建时使用的是ubuntu最新的图像。

共有1个答案

万俟浩
2023-03-14

通过向azure管道添加BUILD_NUMBER变量解决了这个问题。yml:

variables:
  MAVEN_CACHE_FOLDER: $(Pipeline.Workspace)/.m2/repository
  MAVEN_OPTS: '-Dmaven.repo.local=$(MAVEN_CACHE_FOLDER)'
  BUILD_NUMBER: $(Build.BuildNumber)

然后,我可以参考构建编号:

<build>
    <finalName>${project.artifactId}-${project.version}-${env.BUILD_NUMBER}</finalName>
    
 类似资料:
  • 詹金斯的新成员。 目前,我们使用maven和Subversion作为SCM进行手动构建: > 在本地工作副本文件夹中,POM文件有1.1.1-SNAPSHOT,issue mvn release:clean release:prepare-p all modules 这将创建一个标记https://avn/path/to/tag/xxx-1.1.1,而我的本地工作副本仍在1.1.2-SNAPSHO

  • 问题内容: 我正在使用gradle为2个小型android应用程序创建不同的样式,我想知道是否可以针对我的不同样式在build.gradle的xml文件中编辑应用程序名称。 问题答案: 你是什么意思?清单中的应用程序包名称或启动器中显示的应用程序名称? 如果是前者,请执行以下操作: 也可以覆盖应用程序名称,但您必须提供风味叠加资源。 因此,创建以下文件: 在其中,只需覆盖包含您的应用程序名称的字符

  • 问题内容: 如何在node.js中创建命名管道? PS:目前,我正在按如下方式创建命名管道。但是我认为这不是最好的方法 问题答案: 看起来,Node核心不支持名称管道-从Ben Noordhuis 11/10/11开始: Windows具有命名管道的概念,但是自您提到以来,我假设您的意思是UNIX FIFO。 我们不支持它们,可能永远也不会(在非阻塞模式下的FIFO可能会死锁事件循环),但是如果您

  • 我是Maven的初学者我有一个类似的pom文件 当install命令运行时,我得到example\u dir/1.0.1/application-1.0.1。war我想在目录结构中保留版本,但我想从war文件名中删除该版本。有可能吗?

  • 在Jenkins管道中,当在特定节点上运行构建时,会在该代理上分配工作区。我们没有设置工作区路径,所以它是自动确定的。我知道工作区必须包含执行程序编号,以便在同一代理上同时运行相同作业时隔离构建。 但是工作区路径是如何构造的? 我们的构建被分配给一个特定的节点(有4个执行器),并且被配置为不允许并发构建。通常分配给: 在某个时刻,构建开始在executor 2上运行,但仍然使用与以前相同的工作区。

  • 问题内容: 我正在使用使用Groovy样式脚本编写的Jenkins脚本化管道,并创建了一个Jenkinsfile来描述管道。我需要使用与git repo name相同的文件夹名称创建工作区,然后在工作区文件夹中签出代码。我的问题是,在执行之前,是否有办法知道git repo名称或git repo url? 问题答案: 这个相对丑陋的代码是我用来获取repoName的代码。关键是存储库的URL存储在