Commit Graph
20 Commits
Author SHA1 Message Date
Priya Wadhwa 64a0b1d75f Added a KanikoStage type for each stage of a Dockerfile
I added a KanikoStage to hold each stage of the Dockerfile along with
information about each stage that would be useful later on.

The new KanikoStage type holds the stage itself, along with some
additional information:

1. FinalStage -- whether the current stage is the final stage
2. BaseImageStoredLocally/BaseImageIndex -- whether the base image for
this stage is stored locally, and if so what the index of the base image
is
3. SaveStage -- whether this stage needs to be saved for use in a future
stage

This is the first part of a larger refactor for building stages, which
will later make it easier to add layer caching.
2018-08-27 14:15:04 -07:00
Priya Wadhwa 5e5623e5a4 Fix bug in SaveStage function for multistage builds
This change should fix the bug in #294, where kaniko wasn't recognizing
that a stage would be used in a later build and so wasn't saving it as a
tarball.

Each stage of the Dockerfile has a Name and a BaseName (FROM BaseName as
Name), but if a Name isn't specified then it's set to the same value as
BaseName. Our test cases weren't complete enough to catch this
distinction, which is why this bug occurred.

I added more test cases to the unit tests to make sure this fix works.
2018-08-20 15:10:17 -07:00
priyawadhwa 954b6129d6 Extract intermediate stages to filesystem (#266)
* WIP

* save and extract stage tarballs if there are dependencies
2018-08-02 09:40:24 -07:00
Nick Kubala e45d1f6aac Update deps 2018-07-31 16:23:23 -07:00
priyawadhwa cac00b9cb2 Add --target flag for multistage builds (#255)
* Add --target flag for multistage builds

* change validate to validateTarget
2018-07-30 09:43:23 -07:00
priyawadhwa eb6faa05a0 Save each stage in multistage dockerfiles as a tarball (#244)
* resolve basenames in dockerfile to fix multistage bug

* WIP

* WIP

* Save dockerfile stages as tarballs

* added unit tests

* fix unit tests
2018-07-19 11:27:49 -07:00
Sharif Elgamal a7c82cf6f6 adding reproducible flag (#205)
* adding reproducible test

* newer version of go-containerregistry

* new ImageOptions

* switch reproducible flag to default to false

* small fixes

* update dep
2018-06-22 12:00:44 -07:00
Jon Johnson 8b0a1a7689 dep update go-containerregistry 2018-06-03 00:59:34 +00:00
Priya Wadhwa 6934f785c8 Pass in clone of buildargs for dockerfile parsing 2018-05-14 16:19:26 -07:00
Priya Wadhwa 459ddffb3c Updated tests 2018-05-11 16:19:33 -07:00
Priya Wadhwa 282f8abbee Merge master, refactor to work with ARG 2018-05-11 15:53:11 -07:00
Priya Wadhwa 4de14c34dd Wrap BuildArgs in our own type 2018-05-11 10:23:13 -07:00
Priya Wadhwa 26d8501489 Support BuildArgs for arg command 2018-05-09 12:24:38 -07:00
Priya Wadhwa a1acbe8aa8 Fixed ResolveStages 2018-04-30 22:37:45 -04:00
Priya Wadhwa 48688df7a6 Fixed merge conflicts, support multistage builds 2018-04-26 16:39:02 -07:00
Priya Wadhwa 904575d0cb support multi stage builds 2018-04-26 15:40:41 -07:00
Priya Wadhwa cf713fe0cd fixed bug in copy 2018-04-23 18:13:27 -07:00
Priya Wadhwa 7dbc7a04a7 Support multi stage builds 2018-04-23 17:25:12 -07:00
Priya Wadhwa 27f964957b Support for onbuild and unit test 2018-04-04 17:06:01 -07:00
Priya Wadhwa 093dfd04df Unpack filesystem and whitelist from /proc/self/mountinfo 2018-02-21 11:02:30 -08:00