bashbrew: for generating multi-target images of DockerFile
No doc / no executable found in packages / apt-get for bashbrew
A non-official executable (used by Nextcloud) could be found here: on a Jenkins server: https://doi-janky.infosiftr.net/job/bashbrew/lastSuccessfulBuild/artifact/bin/bashbrew-amd64
bashbrew
NAME:
bashbrew - canonical build tool for the official images
USAGE:
bashbrew [global options] command [command options] [arguments...]
COMMANDS:
list, ls list repo:tag combinations for a given repo
build build (and tag) repo:tag combinations for a given repo
tag tag repo:tag into a namespace (especially for pushing)
push push namespace/repo:tag (see also "tag")
put-shared update shared tags in the registry (and multi-architecture tags)
help, h Shows a list of commands or help for one command
plumbing:
children, offspring, descendants, progeny print the repos built FROM a given repo or repo:tag
parents, ancestors, progenitors print the repos this repo or repo:tag is FROM
cat print manifest contents for repo or repo:tag
from print FROM for repo:tag
GLOBAL OPTIONS:
--debug enable more output (esp. all "docker build" output instead of only output on failure) [$BASHBREW_DEBUG]
--no-sort do not apply any sorting, even via --build-order
--arch value the current platform architecture (default: "amd64") [$BASHBREW_ARCH]
--constraint value build constraints (see Constraints in Manifest2822Entry) [$BASHBREW_CONSTRAINTS]
--exclusive-constraints skip entries which do not have Constraints
--arch-namespace value architecture to push namespace mappings for creating indexes/manifest lists ("arch=namespace" ala "s390x=tianons390x") [$BASHBREW_ARCH_NAMESPACES]
--config value where default "flags" configuration can be overridden more persistently (default: "/home/gui/.config/bashbrew") [$BASHBREW_CONFIG]
--library value where the bodies are buried (default: "/home/gui/docker/official-images/library") [$BASHBREW_LIBRARY]
--cache value where the git wizardry is stashed (default: "/home/gui/.cache/bashbrew") [$BASHBREW_CACHE]
--help, -h, -? show help
This is a GOLANG utility found in https://github.com/docker-library/official-images
For building:
#prerequisite install golang
$ sudo apt-get install golang
$ git clone \
https://github.com/docker-library/official-images
$ cd official-images
$ export GOPATH=$HOME/go
$ bashbrew/bashbrew.sh --help
or
$ cd official-images/go
$ go build -o bin/bashbrew bashbrew
then you will have your binary for your Dockerfile pipelines !
$ export PATH=$PATH:$GOPATH/bin
this makes possible to brew several DockerFile for different stacks with their dependancies
This is used for Docker to build all the โofficialโ images founds in their registry : https://hub.docker.com
This could be a good entrypoint for a scan utility , avoiding images that contains git commits , with too many issues or not enough robustness / security checks