Commit Graph

210 Commits

Author SHA1 Message Date
Orivej Desh 6762965696 Add -on-error command line argument to allow preserving artifacts on builder errors
Resolves #409
2016-09-16 12:15:00 +00:00
Rickard von Essen 10cba9795f Merge pull request #3476 from bhcleek/ansible-with-docker
fix docker builder with ansible provisioner
2016-09-12 13:56:28 +02:00
Rickard von Essen b2d9782a9e
Improved support for Amazon EC2 Container Registry - ECR
This adds support for authenticating towards ECR in the docker builder
and docker-push post-processor using them same mechanisms as in the
amazon builders. I.g. access key/secret key, credentials on file,
environment variables, sts tokens or IAM instance roles.
2016-09-04 14:33:47 +02:00
Ben P 8ecbbe9037 backticks instead of $() for csh compatibility 2016-08-11 11:27:56 -07:00
Ben P 0d7937fce1 [docker] ls -A instead of * glob for copying paths 2016-08-11 18:03:48 +00:00
Hao 5139b853fa privilege enabled docker container (#3475)
Issue #2724
2016-04-29 19:12:20 -07:00
Billie H. Cleek 165ec694ab fix docker builder with ansible provisioner
Refactor the docker builder so that it does not expect output from the
container to be strictly line oriented or even text, because SFTP, used by
Ansible, is a binary protocol. Since `docker exec` was introduced in 2014,
remove support for older versions of docker that required using `docker
attach`. The old notes in the docker builder referring to specific issues have
all been resolved or else closed because they could not be reproduced.
2016-04-27 13:54:40 -07:00
Vasiliy Tolstov feee19e4ed file provisioner improvements
* allow specify source/destination as dir
* allow specify many files as source

Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-02-12 11:48:28 -08:00
Mark Peek bc0f438db0 Use alternate temp directories for docker
The temporary directories will be created under the packer config
directory. Setting PACKER_TMP_DIR will override this path.
2015-10-20 11:34:14 -07:00
Seth Vargo e863dbe100 Revert "Merge pull request #2807 from markpeek/markpeek-docker-tmpdir"
This reverts commit 31d3678814, reversing
changes made to a3a7c974d0.
2015-10-15 14:31:13 -04:00
Chris Bednarski 5eddaa77bf Corrected sprintf formatting in error messages 2015-10-08 17:43:54 -07:00
Chris Bednarski cc153aa71f Added a test to verify byte size for larger files downloaded from docker 2015-10-08 17:15:27 -07:00
Chris Bednarski 8ff5c07d0c Add a new packer template for testing large file downloads 2015-10-08 16:37:14 -07:00
Mark Peek 77bfd1de2e Workaround docker-machine shared folder mapping issue
When using docker-machine on a Mac only the /Users folder is shared with
the VM. Uploads fail since the normal tmpdir is not shared. This change
uses the local packer directory (usually when run in the users home
folders) allowing it to work without setting TMPDIR explicitly. A better
fix would be to use the docker API directly but that would force users
to use docker API version 20+.
- fixes #901, fixes #1752, fixes #2436, fixes #2675, fixes #2697.
2015-10-07 13:29:53 -07:00
Chris Bednarski 1830c81eab Correct and expand docker config tests for commit, discard, export_path 2015-08-20 14:15:52 -07:00
Chris Bednarski 5503b7f496 Don't export errors 2015-08-19 13:12:16 -07:00
Chris Bednarski 746b9a8391 Formatting tweaks 2015-08-18 16:55:29 -07:00
Chris Bednarski 1b1bd19c20 Reformat code so we can grep for this more easily 2015-08-18 16:47:12 -07:00
Chris Bednarski 750a9c61de Added discard option for docker builder, also reorganized some error messages 2015-08-18 14:38:32 -07:00
Chris Bednarski 32978a5109 Add an explicit error message when there is no output file specified 2015-08-18 13:48:18 -07:00
Chris Bednarski 5ad4b0e97e Added tests and handle the tar format from docker cp - 2015-08-12 12:16:26 -07:00
Chris Bednarski 8cdd078952 Changed fixtures so we can do a directory test too 2015-08-12 11:48:47 -07:00
Chris Bednarski 62c5e8358d Added a test for docker upload and download 2015-08-12 11:36:56 -07:00
Chris Bednarski de9ecd2d62 Add a test fixture file 2015-08-12 11:36:33 -07:00
Chris Bednarski 3523ffdce1 Farewell extra line. You were pretty but out of place. 2015-08-12 11:36:10 -07:00
Chris Bednarski 047382eec9 Style tweak 2015-08-11 22:30:19 -07:00
Chris Bednarski dc3c55cf8e Implemented downloader for the docker communicator so we can pull files out of a container 2015-08-11 22:22:52 -07:00
Chris Bednarski 715662f60b Reformat 2015-07-27 16:42:06 -07:00
Chris Bednarski f3f3d1fe73 Formatting 2015-07-16 19:34:36 -07:00
georgevicbell bf0c326cd5 Update step_connect_docker.go 2015-07-16 22:07:39 -04:00
georgevicbell b2811a8252 Update communicator.go 2015-07-16 21:51:13 -04:00
georgevicbell d00271aab3 Fix Capitilzation 2015-07-16 21:50:24 -04:00
georgevicbell 4da4150abe Update communicator.go 2015-07-16 21:37:08 -04:00
georgevicbell 3a681d0c0c Add Pty Bool 2015-07-16 21:22:11 -04:00
georgevicbell fb39fa2cc6 Update step_connect_docker.go 2015-07-16 21:13:04 -04:00
georgevicbell e3ab74e09f Add Config struct for docker PTY 2015-07-16 21:06:03 -04:00
Mitchell Hashimoto 84189f7a28 builder/*: properly save interpolation context 2015-06-22 09:22:42 -07:00
Mitchell Hashimoto cab2665119 builder/docker: support custom communicators 2015-06-14 22:09:38 -07:00
Mark Peek 16320372d6 Make some builder config usage more consistent with other builders 2015-06-12 14:02:09 -07:00
Mitchell Hashimoto 819986d19f builder/docker: validate export path is not a dir [GH-2105] 2015-05-29 16:24:29 -07:00
Mitchell Hashimoto 350aa4e522 Merge pull request #2055 from FGtatsuro/docker_tag_force
Support force option for docker-tag.
2015-05-29 16:05:00 -07:00
Mitchell Hashimoto 31ac2652d6 bulder/docker: canExec as sep function 2015-05-29 11:08:41 -07:00
Mitchell Hashimoto ce275969e4 builder/docker: don't attempt to read artifact if cancelled 2015-05-29 09:37:27 -07:00
Mitchell Hashimoto 6570b53c4a builder/docker: use exec for v1.4+ 2015-05-29 09:29:59 -07:00
Mitchell Hashimoto 966d70148e Merge branch 'donaldguy-docker-exec-by-version' into f-docker 2015-05-29 09:20:57 -07:00
Mitchell Hashimoto 9587a926a2 Merge branch 'docker-exec-by-version' of https://github.com/donaldguy/packer into donaldguy-docker-exec-by-version 2015-05-29 09:20:48 -07:00
Mitchell Hashimoto 9c7b4b63c5 builder/docker: fix config parsing 2015-05-29 09:19:20 -07:00
Mitchell Hashimoto 4cae87645f builder/docker: fix issue where docker might get nil interp context 2015-05-27 13:03:47 -07:00
Mitchell Hashimoto faf327eed0 builder/docker: convert to new interpolation 2015-05-27 12:55:36 -07:00
FGtatsuro 09f379a928 Support force option for docker-tag. 2015-04-18 13:12:28 +09:00
Donald Guy a7206aebd7 builder/docker: attempt to satisfy travis for #1993 2015-03-20 12:50:03 -04:00
Donald Guy df7623d9d8 builder/docker: Run scripts /w `exec` if -v > 1.4 2015-03-20 12:07:43 -04:00
Godefroid Chapelle f52283d78e all calls to cp should be escaped 2014-12-22 12:58:41 +01:00
Godefroid Chapelle 955122f2e1 Be more explicit about escaping alias 2014-12-02 15:07:29 +01:00
Godefroid Chapelle 075abfeeae Escapes cp alias
Fix for #1656
2014-12-02 14:58:13 +01:00
Israel Shirk d4080244b0 Resolves issue where docker communicator mishandled symlinks by treating them as files 2014-11-12 14:22:48 -07:00
Mitchell Hashimoto 0db6cd3533 Merge pull request #1330 from qur/qemu-vagrant
Qemu vagrant
2014-10-28 08:42:17 -07:00
Mitchell Hashimoto 607f7214b5 builder/docker: allow DOCKER_HOST 2014-10-27 16:49:39 -07:00
Julian Phillips 90a57c411f Expand Artifact API to expose build state
In order that something consuming an artifact can have access to extra
builder specific data add the State method which allows the caller to
ask for arbitary values by name.
2014-09-22 11:15:47 +01:00
Mitchell Hashimoto 75395af12d Merge branch '1064-fix-upload-file-permissions' of github.com:rasa/packer into rasa-1064-fix-upload-file-permissions
Conflicts:
	builder/parallels/common/step_upload_parallels_tools.go
	builder/vmware/common/step_upload_tools.go
	provisioner/chef-client/provisioner.go
	provisioner/chef-solo/provisioner.go
2014-09-08 13:20:46 -07:00
Mitchell Hashimoto 812ba35479 fmt 2014-09-08 10:28:21 -07:00
Mitchell Hashimoto e4dc5d31d8 builder/docker: support volumes 2014-09-05 15:48:42 -07:00
Mitchell Hashimoto 2e4882f0c3 builder/docker: can login to pull 2014-09-05 15:24:12 -07:00
Mitchell Hashimoto 622b9f459a builder/docker: lock around Login 2014-09-05 15:06:07 -07:00
Mitchell Hashimoto d32b4b4f84 builder/docker: driver supports login/logout 2014-09-05 14:26:19 -07:00
Mitchell Hashimoto f32d9879dc builder/docker: error if DOCKER_HOST is set 2014-09-05 11:13:54 -07:00
Mitchell Hashimoto 5cb7355814 builder/docker: change commit to the opt-in, special case build steps
/cc @andytson - Wanted to CC you in here so you could see some changes I
made.

First, I changed commit to opt-in, so you set "commit": true to get
commit behavior. This simplifies the logic a bit. Then, I removed the
skipping for StepExport and StepCommit and put that into the Builder
itself. This simplifies those steps (limits abstraction leakage).
Otherwise, everything looks great!
2014-09-04 18:03:15 -07:00
Mitchell Hashimoto cb2c405d88 Merge branch 'feature/docker-image' of github.com:andytson/packer into andytson-feature/docker-image
Conflicts:
	config.go
2014-09-04 17:56:47 -07:00
Mitchell Hashimoto b267c3eb4a builder/docker: wait for tail to end when running remote command 2014-09-04 17:24:09 -07:00
Mitchell Hashimoto c139aa3b71 builder/docker: style 2014-09-04 17:07:21 -07:00
Mitchell Hashimoto 74a4f27a16 buidler/docker: remove container [GH-1206] [GH-1095] 2014-09-04 17:03:24 -07:00
Andy Thompson 4a98ab377a Add Stderr capture to Commit and TagImage calls. 2014-07-21 20:42:24 +01:00
Andy Thompson ed446782f9 Add a docker save post processor 2014-07-21 20:42:24 +01:00
Andy Thompson bf16683140 Add a docker tag post processor 2014-07-21 20:42:23 +01:00
Andy Thompson 1baa63f060 Add a docker commit step to the docker builder that runs instead of export if export_path not present 2014-07-21 20:42:23 +01:00
Ross Smith II d92179847d provisioner/file: set file/directory permissions
fixes #1064
2014-05-09 21:03:35 -07:00
Mitchell Hashimoto e8768785a0 website: add docs for docker-import and docker-push 2014-01-19 20:42:42 -08:00
Mitchell Hashimoto 8635085665 builder/docker: make Import part of this Driver for reuse 2014-01-19 19:55:01 -08:00
Mitchell Hashimoto 34dbf72142 post-processor/docker-import: have an Artifact
/cc @mmckeen
2014-01-19 19:48:06 -08:00
Jack Pearkes 0788d96841 builder/docker: include user vars for docker configuration 2014-01-02 14:49:30 -08:00
Mitchell Hashimoto 037a744be5 builder/docker: customize run command [GH-648] 2013-12-27 10:17:45 -07:00
Chris Lundquist 5564fb0028 Rename drover_docker_test.go to driver_docker_test.go 2013-12-26 16:09:24 -08:00
Mitchell Hashimoto 21bb0674f2 builder/docker: ctrl-C works during provisioning 2013-11-12 16:24:16 +00:00
Mitchell Hashimoto 832b4408a5 builder/docker: verify docker is available on path 2013-11-09 21:26:05 -08:00
Mitchell Hashimoto c04d1cd57e builder/docker: say when killing the container 2013-11-09 19:17:27 -08:00
Mitchell Hashimoto d8b29cd63b builder/docker: remove unused file 2013-11-09 19:11:07 -08:00
Mitchell Hashimoto 7bcfd83bdd builder/docker: stream output from commands 2013-11-09 19:06:03 -08:00
Mitchell Hashimoto 2b89da50b3 builder/docker: UploadDir 2013-11-09 18:44:43 -08:00
Mitchell Hashimoto ab5f719734 builder/docker: show stderr if docker fails to run 2013-11-09 17:27:30 -08:00
Mitchell Hashimoto 8ec68031d0 builder/docker: ability to disable pull 2013-11-09 17:21:24 -08:00
Mitchell Hashimoto 0287cdd614 builder/docker: config refactor 2013-11-09 17:07:14 -08:00
Mitchell Hashimoto 06b6cb1af1 builder/docker: artifact 2013-11-09 13:22:13 -08:00
Mitchell Hashimoto a58754b974 builder/docker: StepExport tests 2013-11-09 13:15:51 -08:00
Mitchell Hashimoto 0e3011cbce builder/docker: StepRun tests 2013-11-09 13:03:01 -08:00
Mitchell Hashimoto 62b81dc432 builder/docker: StepPull test, driver abstraction for tests 2013-11-09 12:12:23 -08:00
Mitchell Hashimoto 2da9233655 builder/docker: test StepTempDir 2013-11-09 11:58:20 -08:00
Mitchell Hashimoto da683afde0 builder/docker: config validation test 2013-11-09 11:47:32 -08:00
Mitchell Hashimoto 23ad5442ec builder/docker: perform cleanup in run method, not prematurely 2013-11-09 10:15:25 -08:00
Mitchell Hashimoto 44a41451f0 builder/docker: Communicator.Start doesn't block 2013-11-09 10:13:27 -08:00
Mitchell Hashimoto d5ce8ddb4a builder/docker: export the final image 2013-11-09 09:48:36 -08:00
Mitchell Hashimoto d27ceaf509 builder/docker: remove the exit code file when we're done 2013-11-09 00:47:37 -08:00
Mitchell Hashimoto 2e7574e360 builder/docker: command output and exit codes work
/cc @mwhooker - CCing you on this because it is also ridiculous. See the
big comments
2013-11-09 00:33:36 -08:00
Mitchell Hashimoto eabd32f3ce builder/docker: comment the sleep on remote exec 2013-11-09 00:06:45 -08:00
Mitchell Hashimoto c1f0fe3f3f builder/docker: fix upload for copy to work 2013-11-09 00:05:44 -08:00
Mitchell Hashimoto 5f76ed68c4 builder/docker: Remote execution works!
/cc @mwhooker - WOW. By luck, I had a hunch that maybe something like
this might be going on based on straces I was reading. Check:
https://github.com/dotcloud/docker/issues/2628

Anyways, this works now. No more blocker!
2013-11-08 23:59:25 -08:00
Mitchell Hashimoto 797c44bfc1 builder/docker: a non-working communicator 2013-11-08 23:43:41 -08:00
Mitchell Hashimoto 2e080ece6d builder/docker: start a container 2013-11-08 22:17:46 -08:00
Mitchell Hashimoto 4db609b24c builder/docker: tests for some exec stuff 2013-11-08 22:02:47 -08:00
Mitchell Hashimoto 034e04cc1e builder/docker: pull images 2013-11-08 22:00:57 -08:00
Mitchell Hashimoto 3feab1dea1 builder/docker: boilerplate 2013-11-08 16:55:02 -08:00