A simple CLI to build and publish a repository with an Dockerfile based on semver versions or GitHub repository release tags.
npm i -D @immowelt/docker-publish
Usage: docker-publish [options]
Options:
--tags <List<string> | url> The Github tags API URL or the raw list of tags to iterate over.
--arg <string> The build-arg key to use when forwarding the current iterated tag.
--image <string> The image name for the docker images to create.
--latest <string> An optional 'latest' tag to specify, defaults to 'latest'
--strip <string> An optional string which will be removed from the docker tags to generate. E.g. useful if your repo is named 'foo/java-alpine' and you don't want to repeat the '-alpine' keyword in tags.
docker-publish --tags=8.2.0-alpine,8.4.0-alpine --image=immowelt/node --arg=NODE_VERSION --latest
This command would build and push a docker image with the Dockerfile
located in the processes cwd
for each valid semver release tag of the official NodeJS repository. During the build we forward an --build-arg
, e.g. NODE_VERSION
with the current iterated version. After the build is done the image gets tagged e.g. immowelt/node:8.3.0
.
After the iteration of releases is done, we also re-tag the latest
tag of docker to make sure that the latest
tag does in fact point to the last released version.
See the CONTRIBUTING.md
file at the root of the repository.
See the LICENSE
file at the root of the repository.