Comments (2)
So part of the problem was mine, or rather that bootRepackage wasn't setting outputs for some reason.
Here is my final solution
def dockerName = "${rootProject.name}:${version}"
// Task to remove existing docker images so we don't have a bunch on disk
task dockerCleanImages() {
group 'docker'
doLast {
exec {
ignoreExitValue = true
standardOutput = new ByteArrayOutputStream()
errorOutput = standardOutput
println "Removing exiting images with name: ${dockerName}"
commandLine 'docker', 'rmi', "${dockerName}"
}
}
}
docker {
name(dockerName)
dependsOn tasks.bootRepackage, tasks.dockerCleanImages
buildArgs([PROJECT_NAME: rootProject.name, VERSION: version])
files 'Dockerfile'
}
bootRepackage {
outputs.dir("$buildDir/libs")
}
Remarks
- I remove existing images before each run of the docker task so that I don't build a bunch up on disk.
files 'Dockerfile'
is redundant, but I only need the files from the dependsOn tasks and by settingfiles
, I avoid the problem with it trying to copy .gradle- I manually set the outputs dir for bootRepackage.
from gradle-docker.
Suggested change to PalantirDockerPlugin.groovy:88
from(project.projectDir) {
exclude "${project.buildDir.name}", ".gradle", ".git"
}
from gradle-docker.
Related Issues (20)
- containerd support
- Is gradle incremental build supported? HOT 2
- dockerpush - getting sha256 of the published docker image ?
- Recommend don't create the dockerTag${project.version} and dockerPush${project.version} task by default, keep to add it by user self as 0.30.0 version. HOT 8
- Entry Dockerfile is a duplicate but no duplicate handling strategy has been set HOT 3
- dockerPush seems to hang forever HOT 1
- Support Task Configuration Avoidance API from Gradle
- How to set buildArgs from the task
- Can't get multiarch buildx to work HOT 1
- Make automatic project version tag optional HOT 1
- Buildx fails to finding just builded image but works with cached ones HOT 1
- adding extra programs to palantir docker image HOT 1
- Gradle 8.0 Support HOT 4
- Using platform without buildx
- Containerd Support
- composeup environment required HOT 3
- docker tag must have a task name HOT 3
- remove dash "docker-compose"
- docker platform variable does not accept an array of String
- Cannot add dependencies
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gradle-docker.