Test git buildcontext
This commit is contained in:
parent
3da2fdf2d0
commit
8b459b57aa
|
|
@ -1,2 +0,0 @@
|
|||
FROM scratch
|
||||
COPY LICENSE /LICENSE
|
||||
|
|
@ -71,7 +71,6 @@ var additionalKanikoFlagsMap = map[string][]string{
|
|||
"Dockerfile_test_target": {"--target=second"},
|
||||
}
|
||||
|
||||
var gitRepoTests = []string{"Dockerfile_test_git"}
|
||||
var bucketContextTests = []string{"Dockerfile_test_copy_bucket"}
|
||||
var reproducibleTests = []string{"Dockerfile_test_reproducible"}
|
||||
|
||||
|
|
@ -157,15 +156,11 @@ func (d *DockerFileBuilder) BuildImage(imageRepo, gcsBucket, dockerfilesPath, do
|
|||
// build docker image
|
||||
additionalFlags := append(buildArgs, additionalDockerFlagsMap[dockerfile]...)
|
||||
dockerImage := strings.ToLower(imageRepo + dockerPrefix + dockerfile)
|
||||
dockerPath := "."
|
||||
if dockerfile == "Dockerfile_test_git" {
|
||||
dockerPath = "https://github.com/GoogleContainerTools/kaniko"
|
||||
}
|
||||
dockerCmd := exec.Command("docker",
|
||||
append([]string{"build",
|
||||
"-t", dockerImage,
|
||||
"-f", path.Join(dockerfilesPath, dockerfile),
|
||||
dockerPath},
|
||||
"."},
|
||||
additionalFlags...)...,
|
||||
)
|
||||
|
||||
|
|
@ -185,12 +180,6 @@ func (d *DockerFileBuilder) BuildImage(imageRepo, gcsBucket, dockerfilesPath, do
|
|||
}
|
||||
}
|
||||
|
||||
for _, d := range gitRepoTests {
|
||||
if d == dockerfile {
|
||||
contextPath = "git://https://github.com/GoogleContainerTools/kaniko"
|
||||
}
|
||||
}
|
||||
|
||||
reproducibleFlag := ""
|
||||
for _, d := range reproducibleTests {
|
||||
if d == dockerfile {
|
||||
|
|
|
|||
|
|
@ -30,10 +30,9 @@ import (
|
|||
"testing"
|
||||
"time"
|
||||
|
||||
"golang.org/x/sync/errgroup"
|
||||
|
||||
"github.com/google/go-containerregistry/pkg/name"
|
||||
"github.com/google/go-containerregistry/pkg/v1/daemon"
|
||||
"golang.org/x/sync/errgroup"
|
||||
|
||||
"github.com/GoogleContainerTools/kaniko/pkg/timing"
|
||||
"github.com/GoogleContainerTools/kaniko/pkg/util"
|
||||
|
|
@ -236,6 +235,49 @@ func TestRun(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestGitBuildcontext(t *testing.T) {
|
||||
repo := "github.com/GoogleContainerTools/kaniko"
|
||||
dockerfile := "integration/dockerfiles/Dockerfile_test_run_2"
|
||||
|
||||
// Build with docker
|
||||
dockerImage := GetDockerImage(config.imageRepo, "Dockerfile_test_git")
|
||||
dockerCmd := exec.Command("docker",
|
||||
append([]string{"build",
|
||||
"-t", dockerImage,
|
||||
"-f", dockerfile,
|
||||
repo})...)
|
||||
out, err := RunCommandWithoutTest(dockerCmd)
|
||||
if err != nil {
|
||||
t.Errorf("Failed to build image %s with docker command \"%s\": %s %s", dockerImage, dockerCmd.Args, err, string(out))
|
||||
}
|
||||
|
||||
// Build with kaniko
|
||||
kanikoImage := GetKanikoImage(config.imageRepo, "Dockerfile_test_git")
|
||||
kanikoCmd := exec.Command("docker",
|
||||
append([]string{"run",
|
||||
"-v", os.Getenv("HOME") + "/.config/gcloud:/root/.config/gcloud",
|
||||
ExecutorImage,
|
||||
"-f", dockerfile,
|
||||
"-d", kanikoImage,
|
||||
"-c", fmt.Sprintf("git://%s", repo)})...)
|
||||
|
||||
out, err = RunCommandWithoutTest(kanikoCmd)
|
||||
if err != nil {
|
||||
t.Errorf("Failed to build image %s with kaniko command \"%s\": %v %s", dockerImage, kanikoCmd.Args, err, string(out))
|
||||
}
|
||||
|
||||
// container-diff
|
||||
daemonDockerImage := daemonPrefix + dockerImage
|
||||
containerdiffCmd := exec.Command("container-diff", "diff", "--no-cache",
|
||||
daemonDockerImage, kanikoImage,
|
||||
"-q", "--type=file", "--type=metadata", "--json")
|
||||
diff := RunCommand(containerdiffCmd, t)
|
||||
t.Logf("diff = %s", string(diff))
|
||||
|
||||
expected := fmt.Sprintf(emptyContainerDiff, dockerImage, kanikoImage, dockerImage, kanikoImage)
|
||||
checkContainerDiffOutput(t, diff, expected)
|
||||
}
|
||||
|
||||
func TestLayers(t *testing.T) {
|
||||
offset := map[string]int{
|
||||
"Dockerfile_test_add": 11,
|
||||
|
|
|
|||
Loading…
Reference in New Issue