Docker - gradle plugin
π‘ This plugin gives helpful gradle tasks for working with docker containers for projects with any types and languages.
-
You only need to have
docker-compose.ymlfile in root of your project -
In your
build.gradle.ktsfile:
plugins {
id("online.colaba.docker") version "1.4.10"
}gradle deploythis task is equivalent to
docker-compose up --build --force-recreate --detachcommand.
deploy- compose up project fromdocker-compose.ymlfile (default with recreate & rebuild)deployDev- compose up docker container fromdocker-compose.dev.ymlfilerecompose,recomposeDev- compose up after removing current docker-servicestop,remove- stop/remove docker containerlogs,docker- print current docker-services
Name of service for all tasks equals to ${project.name}. You can customize options of each task.
tasks{
docker{
exec = "rm -f ${project.name}"
}
}tasks{
val remove by registering(Docker::class) { exec = "rm -f ${project.name}" }
val deploy by existing(Docker::class){
dependsOn(remove)
recreate = false
composeFile = "docker-compose.dev.yml"
}
}gradle deployπ« Example
- Structure:
[project]
| - build.gradle.kts
| - docker-compose.yml
| - docker-compose.dev.yml (optional)
docker-compose.dev.yml,Dockerfile&Dockerfile.devfiles are optionals
With docker plugin you have additional bonus task for executing a command line process on local PC [linux/windows]:
tasks{
execute{
command = "echo ${project.name}"
}
}