命令行mvn参数,用于阻止spring-boot-maven-plugin执行run

时间:2016-11-23 00:31:03

标签: maven jenkins spring-boot spring-boot-maven-plugin

我正在开发一个Spring Boot应用程序,并且作为我的maven项目的Integration Test阶段的一部分,我已经配置了spring-boot maven插件,以便在构建的前后集成测试部分启动和关闭如下:

        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <id>pre-integration-test</id>
                    <goals>
                        <goal>start</goal>
                    </goals>
                </execution>
                <execution>
                    <id>post-integration-test</id>
                    <goals>
                        <goal>stop</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

但是,我这样做只是为了让我的开发人员可以针对本地服务实例运行测试。在Jenkins上,我会针对我部署了服务的外部服务运行测试,并且我不需要在Jenkins工作中启动Spring Boot应用程序。

有没有办法让我明确停止spring-boot maven插件通过mvn命令行覆盖来启动服务?

1 个答案:

答案 0 :(得分:1)

当然,你可以为它公开一个属性,比如

  <properties>
    <skip.it>false</skip.it>
  </properties>

    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <executions>
            <execution>
                <id>pre-integration-test</id>
                <goals>
                    <goal>start</goal>
                </goals>
                <configuration>
                  <skip>${skip.it}</skip>
                </configuration>
            </execution>
            <execution>
                <id>post-integration-test</id>
                <goals>
                    <goal>stop</goal>
                </goals>
                <configuration>
                  <skip>${skip.it}</skip>
                </configuration>
            </execution>
        </executions>
    </plugin>

完成后,运行以下命令:mvn verify -Dskip.it=true并且Spring Boot应用程序不会作为集成测试的一部分启动。