734996002c
The changeset also makes the control service responsible for flyway migrations. This helps reduce the number of places the database configuration needs to be spread out. These automatic migrations can be disabled with -DdisableFlyway=true. The commit also adds curl to the docker container, to enable docker health checks and interdependencies.
69 lines
2.3 KiB
Groovy
69 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}
|
|
|
|
RUN apt-get update && apt-get install -y curl
|
|
|
|
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
|
|
}
|