Name | Size | Modified | Last Commit | Author |
---|---|---|---|---|
container | ||||
gradle | ||||
.hgignore | Loading ... | |||
build.gradle | Loading ... | |||
gradlew | Loading ... | |||
gradlew.bat | Loading ... | |||
readme.md | Loading ... | |||
settings.gradle | Loading ... |
Build and publish images with docker/podman
SYNOPSIS
plugins { id 'org.implab.gradle-container' version "1.0" } container { // if you want to use podman cliCmd = "podman" } configurations { app } dependencies { // the application that needs to be built and packed app project(":server") } // add custom task to copy application files // to the docker build context. task copyApp(type: Copy) { processResources.dependsOn it into container.contextDirectory.dir("root/opt/myapp") from configurations.app } task printVersion { doLast { println "tag: ${buildImage.imageTag.get()}" println "archive: ${saveImage.archiveFileName.get()}" } }
Description
This plugin is a simple wrapper around docker CLI. All the image
building process is deligated to the Dockerfile
which will run
in the prepeared build context.
Project structure
build/
context/
- the build context wheredocker build
command will run.imageid
- the file storing the id of the image has been built.image-name-1.2.3.tgz
- the exported image ifsaveImage
has been executed.
src
main
- the source files which will be copied to the build context.
Properties
imagesAuthority
- the registry where the image should be published.
for example docker.io
imagesGroup
- the path to the image in the repository.
Tasks
buildImage
The task builds the image. Wrapper around the docker build
command.
saveImage
The task exports image as the .tar archive.
pushImage
The task pushes the image to the remote repository.
processResources
The copy task, it prepares the build context. Use it to customize the build context.