Add container build.

This commit is contained in:
Michael Lipp 2023-08-09 18:17:46 +02:00
parent f8281f6ef5
commit c4270caa7b
2 changed files with 55 additions and 0 deletions

View file

@ -24,6 +24,54 @@ dependencies {
} }
application { application {
applicationName = 'vm-manager'
applicationDefaultJvmArgs = ['-Xms50m',
'-Djava.util.logging.manager=org.jdrupes.vmoperator.util.LongLoggingManager'
]
// Define the main class for the application. // Define the main class for the application.
mainClass = 'org.jdrupes.vmoperator.manager.Manager' mainClass = 'org.jdrupes.vmoperator.manager.Manager'
} }
task buildImage(type: Exec) {
dependsOn installDist
inputs.files 'src/org/jdrupes/vmoperator/manager/Containerfile'
commandLine 'podman', 'build', '-t', "${project.name}:${project.version}",\
'-f', 'src/org/jdrupes/vmoperator/manager/Containerfile', '.'
}
task tagLatestImage(type: Exec) {
dependsOn buildImage
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
commandLine 'podman', 'push', '--tls-verify=false', \
"localhost/${project.name}:${project.version}", \
"${project.rootProject.properties['docker.registry']}" \
+ "/${project.name}:latest"
}
task pushImages {
dependsOn pushImage
dependsOn pushLatestImage
}

View file

@ -0,0 +1,7 @@
FROM ghcr.io/graalvm/jdk-community:17
RUN microdnf install findutils && microdnf clean all
COPY build/install/vm-manager /opt/vmmanager
CMD ["/opt/vmmanager/bin/vm-manager"]