Commit Graph

164 Commits

Author SHA1 Message Date
Ian Campbell c3648a9c94 Add `docker build --iidfile=FILE`
This is synonymous with `docker run --cidfile=FILE` and writes the digest of
the newly built image to the named file. This is intended to be used by build
systems which want to avoid tagging (perhaps because they are in CI or
otherwise want to avoid fixed names which can clash) by enabling e.g. Makefile
constructs like:

    image.id: Dockerfile
    	docker build --iidfile=image.id .

    do-some-more-stuff: image.id
    	do-stuff-with <image.id

Currently the only way to achieve this is to use `docker build -q` and capture
the stdout, but at the expense of losing the build output.

In non-silent mode (without `-q`) with API >= v1.29 the caller will now see a
`JSONMessage` with the `Aux` field containing a `types.BuildResult` in the
output stream for each image/layer produced during the build, with the final
one being the end product.  Having all of the intermediate images might be
interesting in some cases.

In silent mode (with `-q`) there is no change, on success the only output will
be the resulting image digest as it was previosuly.

There was no wrapper to just output an Aux section without enclosing it in a
Progress, so add one here.

Added some tests to integration cli tests.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-05-05 12:12:36 -07:00
Tibor Vass 03a36f9d50 Fix expected output in test due to linter-induced change on error string
Signed-off-by: Tibor Vass <tibor@docker.com>
2017-05-03 19:26:45 -07:00
Daniel Nephin 779012af69 Refacator pkg/streamformatter
StreamFormatter suffered was two distinct structs mixed into a single struct
without any overlap.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-05-03 18:49:14 -07:00
Aaron Lehmann 6f94ab98f5 cli: Correct command/image tests for testify
These tests were caught in the crossfire of the transition to testify.
testify has a few subtle differences from the similar custom framework
it replaced:

- Error behaves differently
- Equal takes its arguments in a different order

This PR also takes the opportunity to use a few shorthands from testify,
such as Len, True, and False.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2017-05-03 18:45:48 -07:00
Ignacio Capurro e7793092a2 Unit tests for cli/commands/image (except build and tag)
Signed-off-by: Ignacio Capurro <icapurrofagian@gmail.com>
2017-05-03 18:40:22 -07:00
Daniel Nephin 36a7842089 Fix goimports failure on master.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-05-03 15:58:39 -04:00
Daniel Nephin c202b4b987 Merge pull request #13 from dnephin/cleanup-post-docker-stin
Small build client cleanup handling dockerfile from stdin
2017-05-03 15:45:41 -04:00
Daniel Nephin 08af0f28c5 Add gocycle lint
Whitelist some existing offenders, and use a high limit for now.
This limit should decrese over time.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-05-02 17:57:46 -04:00
Daniel Nephin 690ef8af79 Enable golint
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-05-02 17:57:46 -04:00
Daniel Nephin a5044b4982 Move addDockerfileToBuildContext to the build package.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-04-28 15:11:36 -04:00
Daniel Nephin b98e03d3b0 Extract dockerfile handling functions.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-04-28 15:11:36 -04:00
Daniel Nephin 59983759c2 Cleanup handling of the - for stdin
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-04-28 15:11:36 -04:00
Daniel Nephin 10641c2aae Update imports.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2017-04-17 18:07:56 -04:00
Daniel Nephin 1630fc40f8 Import docker/docker/cli
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2017-04-17 17:40:59 -04:00