maven 如何使用命令行将repositories/distributionManagement配置传递到pom.xml中

ezykj2lf  于 2024-01-06  发布在  Maven
关注(0)|答案(1)|浏览(231)

我尝试构建一个CI/CD管道,该管道:
1.运行生成客户端库的Maven项目的Swagger codegen。
1.运行mvn deploy将客户端库部署到远程存储库。
但是,自动生成的pom.xml没有<repositories><distributionManagement>的配置。
我正在寻找一个Maven本地解决方案,以 * 编程方式 * 将<repositories><distributionManagement>配置添加到这个自动生成的pom.xml
自动生成的pom.xml,仅存在于CI/CD构建的生命周期中

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. ...
  5. <url>https://github.com/swagger-api/swagger-codegen</url>
  6. <description>Swagger Java</description>
  7. <scm>
  8. <connection>scm:git:[email protected]:swagger-api/swagger-codegen.git</connection>
  9. <developerConnection>scm:git:[email protected]:swagger-api/swagger-codegen.git</developerConnection>
  10. <url>https://github.com/swagger-api/swagger-codegen</url>
  11. </scm>
  12. <licenses>
  13. <license>
  14. <name>Unlicense</name>
  15. <url>http://unlicense.org</url>
  16. <distribution>repo</distribution>
  17. </license>
  18. </licenses>
  19. <developers>
  20. <developer>
  21. <name>Swagger</name>
  22. <email>[email protected]</email>
  23. <organization>Swagger</organization>
  24. <organizationUrl>http://swagger.io</organizationUrl>
  25. </developer>
  26. </developers>
  27. <build>
  28. ...
  29. </build>
  30. <profiles>
  31. ...
  32. </profiles>
  33. <dependencies>
  34. ...
  35. </dependencies>
  36. <properties>
  37. ...
  38. </properties>
  39. </project>

字符串
我想添加到pom.xml中的代码段:

  1. <repositories>
  2. <repository>
  3. <id>...</id>
  4. <url>...</url>
  5. <releases>
  6. <enabled>true</enabled>
  7. </releases>
  8. <snapshots>
  9. <enabled>true</enabled>
  10. </snapshots>
  11. </repository>
  12. </repositories>
  13. <distributionManagement>
  14. <repository>
  15. <id>...</id>
  16. <url>...</url>
  17. </repository>
  18. </distributionManagement>

igsr9ssn

igsr9ssn1#

我可以通过向mvn deploy传递一个命令行参数来实现这一点:

  1. mvn deploy -DaltDeploymentRepository=ID::URL

字符串

  • IDsettings.xml中的服务器ID
  • URL是部署端点的URL,就像您在pom.xmldistributionManagement/url部分中使用的那样。

相关问题