terraform/scripts/docker-release
Martin Atkins 0f9af4dfa9 build: configuration for building "release" docker images
These are different than our "full" images because they include a binary
already released to releases.hashicorp.com, whereas the root Dockerfile
directly builds from the current work tree.

This particular Dockerfile is not intended to be run manually, but rather
exists only to drive the dockerhub automated build.
2017-07-19 12:59:13 -07:00
..
hooks build: configuration for building "release" docker images 2017-07-19 12:59:13 -07:00
Dockerfile-release build: configuration for building "release" docker images 2017-07-19 12:59:13 -07:00
README.md build: configuration for building "release" docker images 2017-07-19 12:59:13 -07:00
releases_public_key build: configuration for building "release" docker images 2017-07-19 12:59:13 -07:00

README.md

Terraform Docker Release Build

This directory contains configuration to drive the Dockerhub automated build for Terraform. This is different than the root Dockerfile (which produces the "full" image on Dockerhub) because it uses the release archives from releases.hashicorp.com. It is therefore not possible to use this configuration to build an image for a commit that hasn't been released.

How it works

Dockerhub runs the hooks/build script to trigger the build. That uses git describe to identify the tag corresponding to the current HEAD. If the current commit isn't tagged with a version number corresponding to a Terraform release already on releases.hashicorp.com, the build will fail.

What it produces

This configuration is used to produce the "latest", "light" and "beta" tags in Dockerhub, as well as specific version tags.

"latest" and "light" are synonyms, and are built from a branch in this repository called "stable". "beta" is built from a branch called "beta". Both of these branches should be updated only to tagged commits, and only when it is desirable to create a new release image.