JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 430
  • Score
    100M100P100Q92875F
  • License MIT

Generates docker bake metadata like tags, labels and build args

Package Exports

  • docker-meta

Readme

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.