Skip to content

Repository files navigation

docker-meta

Generates docker bake metadata like tags, labels and build args

ci Version Downloads/week License Conventional Commits semantic-release

Usage

$ npm install -D docker-meta

$ npx docker-meta --help
Generates docker bake metadata like tags, labels and build args

━━━ Usage ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

$ docker-meta

━━━ Options ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  -c,--config #0              Path to the configuration file
  -o,--output #0              Path to the output file
  --branch #0                 The branch
  --version #0                The version to publish
  --latest                    Push as latest
  --tag-version               Use `version` to generate tags
  --tag-git-sha               Generate tags like `:sha-<git-sha>` when not in change request mode
  --tag-semver                Use semver strategy to generate tags
  --change-request            Change request mode
  --change-number #0          The change number
  --patchset-number #0        The change patchset number
  --git-sha #0                The git sha
  --build-date #0             The build date in ISO 8601
  -V,--docker-meta-version    Print docker-meta version

━━━ Details ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Generates docker bake metadata like tags, labels and build args.

## Configuration

The configuration file can have any of the names and extensions accepted by
cosmiconfig such as docker-meta.config.js.

When no configuration file is specified, a valid configuration file will be
searched in the current directory.

## Output

- By default, JSON is written to stdout.

- Use --output to write to a file.

## Tag strategies

- --tag-version: adds :<version> tags (requires
  version to be set).

- --tag-git-sha: adds :sha-<git-sha> tags.

- --tag-semver: when version is SemVer and --latest is set,
  also adds :<major>, :<major>.<minor> and
  :<major>.<minor>.<patch> tags.

## Change Request mode (Gerrit)

- Enable with --change-request and provide --change-number
  (and optional --patchset-number ).

- Generates :gcr-<change-number> and
  :gcr-<change-number>-<patchset-number> tags.

━━━ Examples ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Generate and print to stdout (search config in the current directory)
  $ docker-meta

Use an explicit configuration file at ./docker-meta.config.js
  $ docker-meta --config ./docker-meta.config.js

Write output to a file
  $ docker-meta --output ./bake.json

Include version and SemVer tags
  $ docker-meta --version 1.2.3 --tag-version --tag-semver --latest

Change Request mode (Gerrit)
  $ docker-meta --change-request --change-number 12345 --patchset-number 1

Use directly with docker bake
  $ docker bake -f <(docker-meta)

To use with docker bake:

docker bake -f <(docker-meta)

You can find an example of config file here.

About

Generates docker bake metadata like tags, labels and build args

Topics

Resources

Stars

Watchers

Forks

Releases

Sponsor this project

Used by

Contributors

Languages