为了账号安全,请及时绑定邮箱和手机立即绑定

如何共享/传递具有应用程序属性和 pom 文件的变量

如何共享/传递具有应用程序属性和 pom 文件的变量

米琪卡哇伊 2021-08-04 09:53:29
我有一个多模块 spring-boot 项目,在我的应用程序的集成测试之前,我启动了另一个子模块(它是由另一个 spring boot 应用程序制作的存根)你可以看到它附加到“预集成测试”,它是最后工作正常。 Parent Pom|   |----myRealApp module(spring boot app)|----stub module(This is also a spring-boot app)我的问题是,有没有办法随机化并共享此端口(未固定为 8090),因此 Jenkins 服务器上的并发构建可以运行测试并且不会失败,因为地址已在使用中。我知道我可以在 spring 属性文件中生成随机数/端口。但是找不到将其传递给 Pom 的方法。application-test.properties myRealApp的: stub.port=8090 stub.url=http://localhost:${stub.port}/stub/api/v1/domains/myRealApp 的 Pom:      <plugin>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-maven-plugin</artifactId>            <configuration>                <mainClass>${spring.boot.mainclass}</mainClass>            </configuration>            <executions>                <execution>                    <id>start-stub</id>                    <configuration>                        <arguments>                            <argument>--server.port=8090</argument>                        </arguments>                        <mainClass>io.swagger.Stub</mainClass>                        <classesDirectory>../my-stub/target/classes</classesDirectory>                    </configuration>                    <goals>                        <goal>start</goal>                    </goals>                    <phase>pre-integration-test</phase>                </execution>                <execution>                    <goals>                        <goal>build-info</goal>                    </goals>                </execution>            </executions>      </plugin>
查看完整描述

2 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

你可以通过 jenkins Port Allocator Plugin做到这一点

分配端口后(可以说HTTP_PORT),然后您可以将其作为命令行传递

-Dstub.port=$HTTP_PORT


查看完整回答
反对 回复 2021-08-04
  • 2 回答
  • 0 关注
  • 213 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信