控制docker – 从Gradle构build脚本构build
对于我的testing,我需要运行容器与例如一些数据库。 我使用docker-compose设置了所有的东西,如果容器已经启动,我的testing正在运行。 一个注意:这些不是unit testing,而是集成testing,而且它们可以运行更长时间。
从Gradle控制docker-compose的最好方法是什么? 我需要运行容器(如果不是),并开始testing。 这也应该适用于OSX和Linux。
我想你可以使用exec任务运行docker-compose up -d
来启动环境。
你可以运行docker-compose stop; docker-compose rm -f
docker-compose stop; docker-compose rm -f
作为一个清理任务,当testing完成时(如果你想停止一切,并删除容器)。
虽然这个问题已经有点老了:
我写了一个插件来做你想要的。 您可以在构build脚本中包含容器定义,它将直接从您的Gradlepipe理容器生命周期:
plugins { id "com.chrisgahlert.gradle-dcompose-plugin" version "0.8.1" } dcompose { database { image = 'mysql:latest' portBindings = ['3306:3306'] } } test { dependsOn startDatabaseContainer finalizedBy removeDatabaseContainer }
这将在运行gradle test
之前启动一个MySQL数据库,然后将其删除。
有关更多详细信息,请参阅: https : //github.com/chrisgahlert/gradle-dcompose-plugin