CatgirlIntelligenceAgency/docker-service-with-dist.gradle
Viktor Lofgren e67dcf4d68 (docker) Fix image tagging
Should now be possible to push a tagged image with e.g.

./gradlew --info dockerPush -Pdocker-registry=registry.marginalia.nu -Pdocker-tag=test2
2023-11-18 13:27:12 +01:00

68 lines
2.3 KiB
Groovy

ext {
dockerImage='openjdk:21-slim'
}
tasks.register('dockerFile') {
buildDir.mkdir()
var df = new File(buildDir, "Dockerfile")
doLast {
df.text = """#
# I'm auto-generated, please don't make changes to me or commit me to git
#
# The template exists in docker-service.gradle
#
FROM ${dockerImage}
ADD ${application.applicationName}.tar /
ADD crawler-process.tar /dist
ADD loader-process.tar /dist
ADD converter-process.tar /dist
ADD website-adjacencies-calculator.tar /dist
ADD index-construction-process.tar /dist
RUN mkdir /wmsa
ENTRYPOINT WMSA_HOME=/wmsa /${application.applicationName}/bin/${application.applicationName} \${arg0} \${arg1}
"""
}
it.outputs.file(df)
}
dockerPrepare {
dependsOn tasks.dockerFile
dependsOn project(':code:processes:website-adjacencies-calculator').distTar
dependsOn project(':code:processes:crawling-process').distTar
dependsOn project(':code:processes:loading-process').distTar
dependsOn project(':code:processes:converting-process').distTar
dependsOn project(':code:processes:index-constructor-process').distTar
}
dockerfileZip {
dependsOn tasks.dockerFile
}
docker {
dockerfile = tasks.dockerFile.outputs.files.singleFile
var registry = project.hasProperty('docker-registry') ? project.property('docker-registry') : 'marginalia'
var tagName = project.hasProperty('docker-tag') ? project.property('docker-tag') : 'latest'
name = registry+'/'+application.applicationName+':'+tagName
tag 'test', (registry+'/'+application.applicationName+':'+tagName)
files tasks.distTar.outputs, \
project(':code:processes:crawling-process').distTar.outputs, \
project(':code:processes:loading-process').distTar.outputs, \
project(':code:processes:converting-process').distTar.outputs, \
project(':code:processes:index-constructor-process').distTar.outputs, \
project(':code:processes:website-adjacencies-calculator').distTar.outputs
dependsOn project(':code:processes:crawling-process').distTar
dependsOn project(':code:processes:loading-process').distTar
dependsOn project(':code:processes:converting-process').distTar
dependsOn project(':code:processes:index-constructor-process').distTar
dependsOn project(':code:processes:website-adjacencies-calculator').distTar
}