Commit 45a6455a authored by Jeff Grafton's avatar Jeff Grafton

Use new docker_bundle rule instead of ixdy's custom docker_build rule

parent 36590b06
...@@ -12,16 +12,25 @@ git_repository( ...@@ -12,16 +12,25 @@ git_repository(
git_repository( git_repository(
name = "io_bazel", name = "io_bazel",
commit = "1fe52dd4b2d77a740648bc1509b68acae49deffc", commit = "b571b72961b9244059bdf96818948623cebf342e",
remote = "https://github.com/ixdy/bazel.git", remote = "https://github.com/ixdy/bazel.git",
) )
git_repository(
name = "io_bazel_rules_docker",
commit = "52d9faf209ff6d16eb850b6b66d03483735e0633",
remote = "https://github.com/bazelbuild/rules_docker.git",
)
load("@io_bazel_rules_go//go:def.bzl", "go_repositories") load("@io_bazel_rules_go//go:def.bzl", "go_repositories")
load("@io_bazel_rules_docker//docker:docker.bzl", "docker_repositories")
go_repositories( go_repositories(
go_version = "1.8.1", go_version = "1.8.1",
) )
docker_repositories()
# for building docker base images # for building docker base images
debs = ( debs = (
( (
......
package(default_visibility = ["//visibility:public"]) package(default_visibility = ["//visibility:public"])
load("@io_bazel//tools/build_defs/docker:docker.bzl", "docker_build") load("@io_bazel_rules_docker//docker:docker.bzl", "docker_build", "docker_bundle")
load("@io_kubernetes_build//defs:build.bzl", "release_filegroup") load("@io_kubernetes_build//defs:build.bzl", "release_filegroup")
filegroup( filegroup(
...@@ -69,26 +69,13 @@ DOCKERIZED_BINARIES = { ...@@ -69,26 +69,13 @@ DOCKERIZED_BINARIES = {
}, },
} }
[genrule(
name = binary + "_docker_tag",
srcs = [meta["target"]],
outs = [binary + ".docker_tag"],
cmd = "grep ^STABLE_DOCKER_TAG bazel-out/stable-status.txt | awk '{print $$2}' >$@",
stamp = 1,
) for binary, meta in DOCKERIZED_BINARIES.items()]
[docker_build( [docker_build(
name = binary, name = binary + "-internal",
base = meta["base"], base = meta["base"],
cmd = ["/usr/bin/" + binary], cmd = ["/usr/bin/" + binary],
debs = [ debs = [
"//build/debs:%s.deb" % binary, "//build/debs:%s.deb" % binary,
], ],
image_tags = [
"@%s.docker_tag" % binary,
],
repository = "gcr.io/google_containers/" + binary,
repository_append_package = False,
symlinks = { symlinks = {
# Some cluster startup scripts expect to find the binaries in /usr/local/bin, # Some cluster startup scripts expect to find the binaries in /usr/local/bin,
# but the debs install the binaries into /usr/bin. # but the debs install the binaries into /usr/bin.
...@@ -96,6 +83,20 @@ DOCKERIZED_BINARIES = { ...@@ -96,6 +83,20 @@ DOCKERIZED_BINARIES = {
}, },
) for binary, meta in DOCKERIZED_BINARIES.items()] ) for binary, meta in DOCKERIZED_BINARIES.items()]
[docker_bundle(
name = binary,
images = {"gcr.io/google_containers/%s:{STABLE_DOCKER_TAG}" % binary: binary + "-internal"},
stamp = True,
) for binary in DOCKERIZED_BINARIES.keys()]
[genrule(
name = binary + "_docker_tag",
srcs = [meta["target"]],
outs = [binary + ".docker_tag"],
cmd = "grep ^STABLE_DOCKER_TAG bazel-out/stable-status.txt | awk '{print $$2}' >$@",
stamp = 1,
) for binary, meta in DOCKERIZED_BINARIES.items()]
release_filegroup( release_filegroup(
name = "docker-artifacts", name = "docker-artifacts",
srcs = [":%s.tar" % binary for binary in DOCKERIZED_BINARIES.keys()] + srcs = [":%s.tar" % binary for binary in DOCKERIZED_BINARIES.keys()] +
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment