如何将 pom.xml 文件的编辑版本中的文件提交到 azure 存储库中

问题描述 投票:0回答:1

我正在尝试通过 CI/CD 在 pom.xml 上实施我们的应用程序的版本控制策略。

我已遵循此问题的解决方案,并在 Azure DevOps 管道上应用了 powershell 脚本任务:How to update version in POM file on post after build number isincreded in Azure Pipeline

我现在可以在工作目录上看到增量的 pom 版本,但我在提交并将此更改推回 azure 存储库时遇到困难。

我还需要运行 git 命令吗?你心中有例子吗?或者你有其他方法来实现这个目标吗?

谢谢你

powershell azure-devops azure-repos
1个回答
0
投票

通常,在源存储库中,建议将

<version>
的值作为占位符保留在
pom.xml
文件中。如果您想在每次构建新的包版本时更新它们的值,则与其他属性类似。

因此,无需将更新后的

pom.xml
文件提交回源存储库。

由于

pom.xml
文件中的属性值也支持环境变量,因此您还可以设置占位符,如下所示。表达式“
${env.VAR_NAME}
”引用指定环境变量的值。更多详情,请参阅此处

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  . . .
  <version>${env.PACKAGE_VERSION}</version>
  . . .
</project>

在管道中,您只需确保实际的新值已映射到占位符引用的具有相同名称(即

PACKAGE_VERSION
)的环境变量。

默认情况下,管道变量(秘密变量除外)将自动映射为环境变量。因此,您只需使用这些值来定义具有相同名称的管道变量即可。

在 pipeline 中构建包时,它会自动使用环境变量的实际值来替换

pom.xml
文件中的占位符。


如果您想使用 运行(构建)编号来设置软件包版本,我们有 预定义变量。您不需要定义额外的管道变量。而在

pom.xml
文件中,你只需要像下面这样设置即可。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  . . .
  <version>${env.BUILD_BUILDNUMBER}</version>
  . . .
</project>

© www.soinside.com 2019 - 2024. All rights reserved.