@immowelt/docker-publish

A simple CLI to build and publish a repository with an Dockerfile based on semver versions or GitHub repository release tags.

Installing

npm i -D @immowelt/docker-publish

Usage and examples

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.

Example usage

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.

Contributing

Please make sure that you adhere to our code style, you can validate your changes / PR by executing npm run lint. Visit the eslint-config-immowelt-react package for more information.