mirror of
https://github.com/datahub-project/datahub.git
synced 2025-11-02 03:39:03 +00:00
60 lines
2.1 KiB
Groovy
60 lines
2.1 KiB
Groovy
plugins {
|
|
id 'java' // required for versioning
|
|
}
|
|
|
|
apply from: "../../gradle/versioning/versioning.gradle"
|
|
apply from: "../../gradle/docker/docker.gradle"
|
|
|
|
ext {
|
|
docker_registry = rootProject.ext.docker_registry == 'linkedin' ? 'acryldata' : docker_registry
|
|
docker_repo = 'datahub-ingestion'
|
|
docker_dir = 'datahub-ingestion'
|
|
docker_target = project.getProperties().getOrDefault("dockerTarget", "slim")
|
|
docker_version = "${versionTag}" // Variants will add suffix to this tag
|
|
python_docker_version = project.getProperties().getOrDefault("pythonDockerVersion", "1!0.0.0+docker.${version}")
|
|
|
|
revision = 12 // increment to trigger rebuild
|
|
}
|
|
|
|
dependencies {
|
|
project(':metadata-ingestion')
|
|
}
|
|
|
|
docker {
|
|
dependsOn 'build', ':metadata-ingestion:codegen'
|
|
name "${docker_registry}/${docker_repo}:${docker_version}"
|
|
dockerfile file("${rootProject.projectDir}/docker/${docker_dir}/Dockerfile")
|
|
files fileTree(rootProject.projectDir) {
|
|
include '.dockerignore'
|
|
include "docker/${docker_dir}/*"
|
|
include "docker/snippets/*"
|
|
include "metadata-ingestion/**"
|
|
include "metadata-ingestion-modules/**"
|
|
include "python-build/**"
|
|
}.exclude {
|
|
i -> (!i.file.name.endsWith(".dockerignore") && i.file.isHidden())
|
|
}
|
|
|
|
version "${docker_version}"
|
|
|
|
defaultVariant = "slim"
|
|
|
|
variants = [
|
|
"slim": [suffix: "", args: [RELEASE_VERSION: python_docker_version, APP_ENV: "slim"]],
|
|
"full": [suffix: "-full", args: [RELEASE_VERSION: python_docker_version, APP_ENV: "full"]]
|
|
]
|
|
// This task is intended to build the slim image
|
|
//target 'ingestion-base-slim' //Review if this needs to be handled by bake
|
|
def dockerBuildArgs = [RELEASE_VERSION: python_docker_version]
|
|
|
|
// Add build args if they are defined (needed for some CI or enterprise environments)
|
|
if (project.hasProperty('pipMirrorUrl')) {
|
|
dockerBuildArgs.PIP_MIRROR_URL = project.getProperty('pipMirrorUrl')
|
|
}
|
|
if (project.hasProperty('debianAptRepositoryUrl')) {
|
|
dockerBuildArgs.DEBIAN_REPO_URL = project.getProperty('debianAptRepositoryUrl')
|
|
}
|
|
|
|
buildArgs(dockerBuildArgs)
|
|
}
|