77 lines
2.2 KiB
Groovy
77 lines
2.2 KiB
Groovy
plugins {
|
|
id 'org.jdrupes.vmoperator.java-application-conventions'
|
|
}
|
|
|
|
dependencies {
|
|
}
|
|
|
|
task buildImage(type: Exec) {
|
|
inputs.files 'Containerfile'
|
|
|
|
commandLine 'podman', 'build', '--pull',
|
|
'-t', "${project.name}:${project.version}",\
|
|
'-f', 'Containerfile', '.'
|
|
}
|
|
|
|
task tagLatestImage(type: Exec) {
|
|
dependsOn buildImage
|
|
|
|
enabled = !project.version.contains("SNAPSHOT")
|
|
&& !project.version.contains("alpha") \
|
|
&& !project.version.contains("beta") \
|
|
|| project.rootProject.properties['docker.testRegistry'] \
|
|
&& project.rootProject.properties['docker.registry'] \
|
|
== project.rootProject.properties['docker.testRegistry']
|
|
|
|
commandLine 'podman', 'tag', "${project.name}:${project.version}",\
|
|
"${project.name}:latest"
|
|
}
|
|
|
|
task buildLatestImage {
|
|
dependsOn buildImage
|
|
dependsOn tagLatestImage
|
|
}
|
|
|
|
task pushImage(type: Exec) {
|
|
dependsOn buildImage
|
|
|
|
commandLine 'podman', 'push', '--tls-verify=false', \
|
|
"localhost/${project.name}:${project.version}", \
|
|
"${project.rootProject.properties['docker.registry']}" \
|
|
+ "/${project.name}:${project.version}"
|
|
}
|
|
|
|
task pushLatestImage(type: Exec) {
|
|
dependsOn buildLatestImage
|
|
|
|
enabled = !project.version.contains("SNAPSHOT")
|
|
&& !project.version.contains("alpha") \
|
|
&& !project.version.contains("beta") \
|
|
|| project.rootProject.properties['docker.testRegistry'] \
|
|
&& project.rootProject.properties['docker.registry'] \
|
|
== project.rootProject.properties['docker.testRegistry']
|
|
|
|
commandLine 'podman', 'push', '--tls-verify=false', \
|
|
"localhost/${project.name}:${project.version}", \
|
|
"${project.rootProject.properties['docker.registry']}" \
|
|
+ "/${project.name}:latest"
|
|
}
|
|
|
|
task pushImages {
|
|
// Don't push without testing first
|
|
dependsOn pushImage
|
|
dependsOn pushLatestImage
|
|
}
|
|
|
|
test {
|
|
enabled = project.hasProperty("k8s.testCluster")
|
|
|
|
useJUnitPlatform()
|
|
|
|
testLogging {
|
|
showStandardStreams = true
|
|
}
|
|
|
|
systemProperty "k8s.testCluster", project.hasProperty("k8s.testCluster")
|
|
? project.getProperty("k8s.testCluster") : null
|
|
}
|