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

pull/6/head
Jeff Grafton 2017-04-21 15:08:16 -07:00
parent 36590b0621
commit 45a6455ac7
2 changed files with 31 additions and 21 deletions

View File

@ -12,16 +12,25 @@ git_repository(
git_repository(
name = "io_bazel",
commit = "1fe52dd4b2d77a740648bc1509b68acae49deffc",
commit = "b571b72961b9244059bdf96818948623cebf342e",
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_docker//docker:docker.bzl", "docker_repositories")
go_repositories(
go_version = "1.8.1",
)
docker_repositories()
# for building docker base images
debs = (
(

View File

@ -1,6 +1,6 @@
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")
filegroup(
@ -69,6 +69,26 @@ DOCKERIZED_BINARIES = {
},
}
[docker_build(
name = binary + "-internal",
base = meta["base"],
cmd = ["/usr/bin/" + binary],
debs = [
"//build/debs:%s.deb" % binary,
],
symlinks = {
# Some cluster startup scripts expect to find the binaries in /usr/local/bin,
# but the debs install the binaries into /usr/bin.
"/usr/local/bin/" + binary: "/usr/bin/" + binary,
},
) 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"]],
@ -77,25 +97,6 @@ DOCKERIZED_BINARIES = {
stamp = 1,
) for binary, meta in DOCKERIZED_BINARIES.items()]
[docker_build(
name = binary,
base = meta["base"],
cmd = ["/usr/bin/" + binary],
debs = [
"//build/debs:%s.deb" % binary,
],
image_tags = [
"@%s.docker_tag" % binary,
],
repository = "gcr.io/google_containers/" + binary,
repository_append_package = False,
symlinks = {
# Some cluster startup scripts expect to find the binaries in /usr/local/bin,
# but the debs install the binaries into /usr/bin.
"/usr/local/bin/" + binary: "/usr/bin/" + binary,
},
) for binary, meta in DOCKERIZED_BINARIES.items()]
release_filegroup(
name = "docker-artifacts",
srcs = [":%s.tar" % binary for binary in DOCKERIZED_BINARIES.keys()] +