53 lines
1.4 KiB
Groovy
53 lines
1.4 KiB
Groovy
plugins {
|
|
id 'base'
|
|
alias(catalog.plugins.gradle.docker)
|
|
}
|
|
|
|
import com.bmuschko.gradle.docker.tasks.image.DockerBuildImage
|
|
import com.bmuschko.gradle.docker.tasks.image.DockerPushImage
|
|
|
|
|
|
configurations {
|
|
docker {
|
|
canBeResolved = true
|
|
transitive = false
|
|
visible = false
|
|
canBeConsumed = false
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
docker project(path: ':gbcs-cli', configuration: 'release')
|
|
docker project(path: ':gbcs-memcached', configuration: 'release')
|
|
}
|
|
|
|
Provider<Task> cleanTaskProvider = tasks.named(BasePlugin.CLEAN_TASK_NAME) {}
|
|
|
|
Provider<Copy> prepareDockerBuild = tasks.register('prepareDockerBuild', Copy) {
|
|
dependsOn cleanTaskProvider
|
|
group = 'docker'
|
|
into project.layout.buildDirectory.file('docker')
|
|
from(configurations.docker)
|
|
from(file('Dockerfile'))
|
|
}
|
|
|
|
Provider<DockerBuildImage> dockerBuild = tasks.register('dockerBuildImage', DockerBuildImage) {
|
|
group = 'docker'
|
|
dependsOn prepareDockerBuild
|
|
images.add('gitea.woggioni.net/woggioni/gbcs:latest')
|
|
images.add("gitea.woggioni.net/woggioni/gbcs:${version}")
|
|
}
|
|
|
|
Provider<DockerPushImage> dockerPush = tasks.register('dockerPushImage', DockerPushImage) {
|
|
group = 'docker'
|
|
dependsOn dockerBuild
|
|
registryCredentials {
|
|
url = getProperty('docker.registry.url')
|
|
username = 'woggioni'
|
|
password = System.getenv().get("PUBLISHER_TOKEN")
|
|
}
|
|
images = dockerBuild.flatMap { it.images }
|
|
}
|
|
|
|
|