I’m fairly new to Gradle, though have lots of Maven experience so I understand the concept. We have the following, OLD I know, but we are slowly transitioning to 4.10.x
Also this is NOT a Jenkins pipeline question, in spite of the Jenkins pipeline code, but I just wanted to show what we’re doing in context.
$ ./gradlew --version
------------------------------------------------------------
Gradle 2.9
------------------------------------------------------------
Build time: 2015-11-17 07:02:17 UTC
Build number: none
Revision: b463d7980c40d44c4657dc80025275b84a29e31f
Groovy: 2.4.4
Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM: 1.8.0_181 (Oracle Corporation 25.181-b13)
OS: Mac OS X 10.13.6 x86_64
We have a Jenkins file that tries to do parallel builds for our Docker images via Gradle. We do, this, which calls the buildDocker task in our build.gradle files.
def buildDockerImages(gradleProjectFlag, version)
{
sh "./gradlew buildDocker ${gradleProjectFlag} -P{$vwrsion} --parallel"
}
node('linux') {
stage('Build Docker images') {
parallel(
"module1" : {
buildDockerImage("module1", "1.0.0")
}
"module2" : {
buildDockerImage("module2", "1.0.0")
}
)
}
}
and our buildDocker task is…
task buildDocker(type: Docker, dependsOn: war) {
doFirst {
copy {
from war
rename { name -> 'app.war' }
into stageDir
}
}
def dockerTag = project.hasProperty('applicationName') ? project.applicationName : project.name
tag = dockerTag
dockerfile = file("$rootDir/deploy/docker/webapp/Dockerfile")
doLast {
exec {
commandLine 'docker', 'tag', tag, "${dockerTag}:latest"
}
}
}
A lot of times, our builds will fail and the only error I get on the Jenkins console is, which is SIGTERM (143-128=15, SIGTERM, 128 is what Jenkins adds to the signal received by the process if I understand correctly. See https://stackoverflow.com/questions/6963811/jvm-returns-error-143)
ERROR: script returned exit code 143
My question is there anything ELSE I need to do to ensure our parallel builds work 100%? We do daemonize our Gradle process.
Thanks!