繁体   English   中英

How to run docker-compose up before spring-boot:run goal using Maven?

[英]How to run docker-compose up before spring-boot:run goal using Maven?

我有一个 SpringBoot 应用程序,我可以使用./mvnw spring-boot:run从 CLI 或 IDE 运行。我有一个docker-compose.yml文件,它具有PostgresLocalstack等依赖服务。

我想在触发docker-compose up spring-boot:run目标。

使用 Gradle 我可以简单地使用dependsOn在运行任务之前启动 docker 容器。 我不知道如何使用 Maven 生命周期阶段来解决这个问题。 有什么帮助吗?

我知道这是一个老问题,但我已经有同样的问题,而且我已经找到了解决方案。 为此,我添加了插件exec-maven-plugin并在validate阶段使用它执行了 docker-compose.yml 文件:

    <build>
    <plugins>
        <plugin>
            <artifactId>exec-maven-plugin</artifactId>
            <version>3.0.0</version>
            <groupId>org.codehaus.mojo</groupId>
            <executions>
                <execution>
                    <id>Run Containers</id>
                    <phase>validate</phase>
                    <configuration>
                        <executable>docker-compose</executable>
                        <commandlineArgs>up --detach</commandlineArgs>
                    </configuration>
                    <goals>
                        <goal>exec</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

但是您需要将撰写文件放在项目的根文件夹中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM