Addressed code review comment, removed stuttering variable names

This commit is contained in:
Priya Wadhwa 2018-09-12 16:36:53 -07:00
parent d9022dd7de
commit bf72328611
3 changed files with 24 additions and 24 deletions

View File

@ -21,7 +21,7 @@ import "github.com/moby/buildkit/frontend/dockerfile/instructions"
// KanikoStage wraps a stage of the Dockerfile and provides extra information
type KanikoStage struct {
instructions.Stage
FinalStage bool
Final bool
BaseImageStoredLocally bool
BaseImageIndex int
SaveStage bool

View File

@ -57,7 +57,7 @@ func Stages(opts *config.KanikoOptions) ([]config.KanikoStage, error) {
BaseImageIndex: baseImageIndex(opts, index, stages),
BaseImageStoredLocally: (baseImageIndex(opts, index, stages) != -1),
SaveStage: saveStage(index, stages),
FinalStage: index == targetStage,
Final: index == targetStage,
})
if index == targetStage {
break

View File

@ -44,8 +44,8 @@ import (
// stageBuilder contains all fields necessary to build one stage of a Dockerfile
type stageBuilder struct {
stage config.KanikoStage
v1.Image
*v1.ConfigFile
image v1.Image
cf *v1.ConfigFile
*snapshot.Snapshotter
baseImageDigest string
}
@ -76,8 +76,8 @@ func newStageBuilder(opts *config.KanikoOptions, stage config.KanikoStage) (*sta
}
return &stageBuilder{
stage: stage,
Image: sourceImage,
ConfigFile: imageConfig,
image: sourceImage,
cf: imageConfig,
Snapshotter: snapshotter,
baseImageDigest: digest.String(),
}, nil
@ -95,36 +95,36 @@ func (s *stageBuilder) extractCachedLayer(layer v1.Image, createdBy string) erro
return nil
}
func (s *stageBuilder) buildStage(opts *config.KanikoOptions) error {
func (s *stageBuilder) build(opts *config.KanikoOptions) error {
// Unpack file system to root
if err := util.GetFSFromImage(constants.RootDir, s.Image); err != nil {
if err := util.GetFSFromImage(constants.RootDir, s.image); err != nil {
return err
}
// Take initial snapshot
if err := s.Snapshotter.Init(); err != nil {
return err
}
buildArgs := dockerfile.NewBuildArgs(opts.BuildArgs)
args := dockerfile.NewBuildArgs(opts.BuildArgs)
for index, cmd := range s.stage.Commands {
finalCmd := index == len(s.stage.Commands)-1
dockerCommand, err := commands.GetCommand(cmd, opts.SrcContext)
command, err := commands.GetCommand(cmd, opts.SrcContext)
if err != nil {
return err
}
if dockerCommand == nil {
if command == nil {
continue
}
logrus.Info(dockerCommand.String())
if err := dockerCommand.ExecuteCommand(&s.ConfigFile.Config, buildArgs); err != nil {
logrus.Info(command.String())
if err := command.ExecuteCommand(&s.cf.Config, args); err != nil {
return err
}
snapshotFiles := dockerCommand.FilesToSnapshot()
files := command.FilesToSnapshot()
var contents []byte
// If this is an intermediate stage, we only snapshot for the last command and we
// want to snapshot the entire filesystem since we aren't tracking what was changed
// by previous commands.
if !s.stage.FinalStage {
if !s.stage.Final {
if finalCmd {
contents, err = s.Snapshotter.TakeSnapshotFS()
}
@ -139,15 +139,15 @@ func (s *stageBuilder) buildStage(opts *config.KanikoOptions) error {
// Otherwise, in the final stage we take a snapshot at each command. If we know
// the files that were changed, we'll snapshot those explicitly, otherwise we'll
// check if anything in the filesystem changed.
if snapshotFiles != nil {
contents, err = s.Snapshotter.TakeSnapshot(snapshotFiles)
if files != nil {
contents, err = s.Snapshotter.TakeSnapshot(files)
} else {
contents, err = s.Snapshotter.TakeSnapshotFS()
}
}
}
if err != nil {
return fmt.Errorf("Error taking snapshot of files for command %s: %s", dockerCommand, err)
return fmt.Errorf("Error taking snapshot of files for command %s: %s", command, err)
}
util.MoveVolumeWhitelistToWhitelist()
@ -163,12 +163,12 @@ func (s *stageBuilder) buildStage(opts *config.KanikoOptions) error {
if err != nil {
return err
}
s.Image, err = mutate.Append(s.Image,
s.image, err = mutate.Append(s.image,
mutate.Addendum{
Layer: layer,
History: v1.History{
Author: constants.Author,
CreatedBy: dockerCommand.String(),
CreatedBy: command.String(),
},
},
)
@ -187,18 +187,18 @@ func DoBuild(opts *config.KanikoOptions) (v1.Image, error) {
return nil, err
}
for index, stage := range stages {
stageBuilder, err := newStageBuilder(opts, stage)
sb, err := newStageBuilder(opts, stage)
if err != nil {
return nil, errors.Wrap(err, fmt.Sprintf("getting stage builder for stage %d", index))
}
if err := stageBuilder.buildStage(opts); err != nil {
if err := sb.build(opts); err != nil {
return nil, errors.Wrap(err, "error building stage")
}
sourceImage, err := mutate.Config(stageBuilder.Image, stageBuilder.ConfigFile.Config)
sourceImage, err := mutate.Config(sb.image, sb.cf.Config)
if err != nil {
return nil, err
}
if stage.FinalStage {
if stage.Final {
sourceImage, err = mutate.CreatedAt(sourceImage, v1.Time{Time: time.Now()})
if err != nil {
return nil, err