From c4797fd7e1ce94a0a31ac9fd43c8794084f5761a Mon Sep 17 00:00:00 2001 From: Chun-Hung Hsiao Date: Sun, 16 Aug 2020 21:49:34 -0700 Subject: [PATCH 1/7] Update Dispatchfile --- Dispatchfile | 45 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 42 insertions(+), 3 deletions(-) diff --git a/Dispatchfile b/Dispatchfile index b1d4f6e..f07b01e 100644 --- a/Dispatchfile +++ b/Dispatchfile @@ -12,10 +12,49 @@ gitops_repo = git_resource("gitops-repo", revision="jenkins-demo" ) -docker_image = kaniko("build-image", src_repo, "chhsiao/devx-dispatch-demo") +def kaniko2(task_name, git_name, image_repos, tag="$(context.build.name)", context=".", dockerfile="Dockerfile", build_args={}, inputs=[], outputs=[], steps=[], **kwargs): + """ + Build a Docker image using Kaniko. + """ + + image_names = [ + image_resource( + "image{}-{}".format(i, task_name), + url=image_repos[i] + ) for i in range(len(image_repos)) + ] + + inputs = inputs + [git_name] + outputs = outputs + image_names + + args = [ + "--context={}".format(context), + "--dockerfile={}".format(dockerfile) + ] + + for k, v in build_args.items(): + args.append("--build-arg={}={}".format(k, v)) + + steps = steps + [ + k8s.corev1.Container( + name="build", + image="gcr.io/kaniko-project/executor:latest", + args=args + [ + "--destination=$(resources.outputs.{}.url):{}".format(image_name, tag), + "--oci-layout-path=$(resources.outputs.{}.path)".format(image_name) + ], + workingDir=git_checkout_dir(git_name) + ) for image_name in image_names + ] + + task(task_name, inputs=inputs, outputs=outputs, steps=steps, **kwargs) + + return image_names + +docker_images = kaniko("build-image", src_repo, ["chhsiao/devx-dispatch-demo", "chhsiao/devx-dispatch-demo-2") task("deploy", - inputs=[src_repo, docker_image, gitops_repo], + inputs=[src_repo, docker_image[0], gitops_repo], steps=[ k8s.corev1.Container( name="update-gitops-repo", @@ -89,4 +128,4 @@ task("run-jenkins", ] ) -action(tasks=["run-jenkins"], on=push(branches=["jenkins-demo"])) +action(tasks=["build-image"], on=push()) From 7a9b19123a3eb98062977fbdb30b1f6c3146c507 Mon Sep 17 00:00:00 2001 From: Chun-Hung Hsiao Date: Sun, 16 Aug 2020 21:51:00 -0700 Subject: [PATCH 2/7] Update Dispatchfile --- Dispatchfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dispatchfile b/Dispatchfile index f07b01e..e80849e 100644 --- a/Dispatchfile +++ b/Dispatchfile @@ -51,7 +51,7 @@ def kaniko2(task_name, git_name, image_repos, tag="$(context.build.name)", conte return image_names -docker_images = kaniko("build-image", src_repo, ["chhsiao/devx-dispatch-demo", "chhsiao/devx-dispatch-demo-2") +docker_images = kaniko("build-image", src_repo, ["chhsiao/devx-dispatch-demo", "chhsiao/devx-dispatch-demo-2"]) task("deploy", inputs=[src_repo, docker_image[0], gitops_repo], From 3eef6ec52bed9b5083d6432ceccb577426f2e0b1 Mon Sep 17 00:00:00 2001 From: Chun-Hung Hsiao Date: Sun, 16 Aug 2020 21:51:42 -0700 Subject: [PATCH 3/7] Update Dispatchfile --- Dispatchfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dispatchfile b/Dispatchfile index e80849e..7d4c4f8 100644 --- a/Dispatchfile +++ b/Dispatchfile @@ -2,7 +2,7 @@ load("github.com/mesosphere/dispatch-catalog/starlark/stable/k8s@0.0.7", "secret_var") load("github.com/mesosphere/dispatch-catalog/starlark/stable/kaniko@0.0.7", "kaniko") -load("github.com/mesosphere/dispatch-catalog/starlark/stable/pipeline@0.0.7", "image_reference", "storage_resource", "push") +load("github.com/mesosphere/dispatch-catalog/starlark/stable/pipeline@0.0.7", "image_resource", "image_reference", "storage_resource", "push") load("github.com/mesosphere/dispatch-catalog/starlark/stable/git@0.0.7", "git_resource", "git_checkout_dir", "git_revision") src_repo = git_resource("src-repo") From dfb171e9134c44d58d7261eb2138dbcdacf2dc8c Mon Sep 17 00:00:00 2001 From: Chun-Hung Hsiao Date: Sun, 16 Aug 2020 21:52:38 -0700 Subject: [PATCH 4/7] Update Dispatchfile --- Dispatchfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dispatchfile b/Dispatchfile index 7d4c4f8..f7e9267 100644 --- a/Dispatchfile +++ b/Dispatchfile @@ -54,7 +54,7 @@ def kaniko2(task_name, git_name, image_repos, tag="$(context.build.name)", conte docker_images = kaniko("build-image", src_repo, ["chhsiao/devx-dispatch-demo", "chhsiao/devx-dispatch-demo-2"]) task("deploy", - inputs=[src_repo, docker_image[0], gitops_repo], + inputs=[src_repo, docker_images[0], gitops_repo], steps=[ k8s.corev1.Container( name="update-gitops-repo", From fc7651860376674e2ab75ee68af9f1ba46ee3711 Mon Sep 17 00:00:00 2001 From: Chun-Hung Hsiao Date: Sun, 16 Aug 2020 21:53:33 -0700 Subject: [PATCH 5/7] Update Dispatchfile --- Dispatchfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dispatchfile b/Dispatchfile index f7e9267..4203aa9 100644 --- a/Dispatchfile +++ b/Dispatchfile @@ -65,7 +65,7 @@ task("deploy", "-base-branch={}".format(git_revision(gitops_repo)), "-create-pull-request", "-merge-pull-request", - "-substitute=imageName={}".format(image_reference(docker_image)) + "-substitute=imageName={}".format(image_reference(docker_images[0])) ] ), k8s.corev1.Container( @@ -77,7 +77,7 @@ task("deploy", sleep 1 done kubectl wait --for=condition=available deployment/hello-world - """.format(image_reference(docker_image))] + """.format(image_reference(docker_images[0]))] ) ] ) From 787a39a07027fd1301548162b20d2d58f7d763f0 Mon Sep 17 00:00:00 2001 From: Chun-Hung Hsiao Date: Sun, 16 Aug 2020 21:56:53 -0700 Subject: [PATCH 6/7] Update Dispatchfile --- Dispatchfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dispatchfile b/Dispatchfile index 4203aa9..23c12e2 100644 --- a/Dispatchfile +++ b/Dispatchfile @@ -51,7 +51,7 @@ def kaniko2(task_name, git_name, image_repos, tag="$(context.build.name)", conte return image_names -docker_images = kaniko("build-image", src_repo, ["chhsiao/devx-dispatch-demo", "chhsiao/devx-dispatch-demo-2"]) +docker_images = kaniko2("build-image", src_repo, ["chhsiao/devx-dispatch-demo", "chhsiao/devx-dispatch-demo-2"]) task("deploy", inputs=[src_repo, docker_images[0], gitops_repo], From cc8fe85a22f787d2b54f1fccef597ecfff6eda0d Mon Sep 17 00:00:00 2001 From: Chun-Hung Hsiao Date: Sun, 16 Aug 2020 21:57:50 -0700 Subject: [PATCH 7/7] Update Dispatchfile --- Dispatchfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dispatchfile b/Dispatchfile index 23c12e2..7a36a12 100644 --- a/Dispatchfile +++ b/Dispatchfile @@ -37,7 +37,7 @@ def kaniko2(task_name, git_name, image_repos, tag="$(context.build.name)", conte steps = steps + [ k8s.corev1.Container( - name="build", + name="build-{}".format(image_name), image="gcr.io/kaniko-project/executor:latest", args=args + [ "--destination=$(resources.outputs.{}.url):{}".format(image_name, tag),