You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'd like to propose an alternative approach on how to specify what the jib-gradle-plugin and the jib-maven-plugin output during build. Instead of having three different tasks, jib, jibDockerBuild and jibBuildTar, Jib could use the URL scheme that is currently being used at Skopeo, Podman and Buildah.
Instead of using different tasks, the build target would be specified within the build.gradle or pom.xml file. Builds would be always executed via gradle jib or the corresponding Maven command.
To build to a remote registry, you would use jib.to.image="docker://docker.io/foo/bar:latest", for a Docker archive it would be like jib.to.image="docker-archive:myimage.tar", for Docker Daemon builds it would be jib.to.image="docker-daemon:foo/bar:latest".
To specify the another target, you could provide the target via command line:
gradle jib -Pjib.to.image=oci-archive:myimage.tar
Pro:
Just one task instead of three
Use the same tasks, jib, regardless whether you build to a registry, file or daemon
Unification with other container-related build tools
More flexibility – you can do things you couldn't do before. How about jib.from.image="oci-archive:baseimage.tar"?
Con:
Would cause a breaking change as this is incompatible with the current scheme
The text was updated successfully, but these errors were encountered:
hendrikhalkow
changed the title
Unify jib, jibBuildTar and jibDockerBuild by supporting Skopeo URL schemes
Unify build tasks by supporting Skopeo URL schemes
Apr 23, 2019
I'd like to propose an alternative approach on how to specify what the jib-gradle-plugin and the jib-maven-plugin output during build. Instead of having three different tasks,
jib
,jibDockerBuild
andjibBuildTar
, Jib could use the URL scheme that is currently being used at Skopeo, Podman and Buildah.Instead of using different tasks, the build target would be specified within the
build.gradle
orpom.xml
file. Builds would be always executed viagradle jib
or the corresponding Maven command.To build to a remote registry, you would use
jib.to.image="docker://docker.io/foo/bar:latest"
, for a Docker archive it would be likejib.to.image="docker-archive:myimage.tar"
, for Docker Daemon builds it would bejib.to.image="docker-daemon:foo/bar:latest"
.To specify the another target, you could provide the target via command line:
Pro:
jib
, regardless whether you build to a registry, file or daemonjib.from.image="oci-archive:baseimage.tar"
?Con:
What do you think about this?
The text was updated successfully, but these errors were encountered: