Skip to content

Commit

Permalink
Merge pull request #99067 from vinayakankugoyal/dockerfile3
Browse files Browse the repository at this point in the history
Use ARG and --build-arg instead of sed for build-image.
  • Loading branch information
k8s-ci-robot committed Feb 14, 2021
2 parents b529be3 + e05f4a3 commit 53345a2
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 13 deletions.
4 changes: 3 additions & 1 deletion build/build-image/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@
# limitations under the License.

# This file creates a standard build environment for building Kubernetes
FROM k8s.gcr.io/build-image/kube-cross:KUBE_BUILD_IMAGE_CROSS_TAG
ARG KUBE_BUILD_IMAGE_CROSS_TAG

FROM k8s.gcr.io/build-image/kube-cross:${KUBE_BUILD_IMAGE_CROSS_TAG}

# Mark this as a kube-build container
RUN touch /kube-build-image
Expand Down
16 changes: 4 additions & 12 deletions build/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -197,15 +197,6 @@ function kube::build::ensure_rsync() {
fi
}

function kube::build::update_dockerfile() {
if kube::build::is_gnu_sed; then
sed_opts=(-i)
else
sed_opts=(-i '')
fi
sed "${sed_opts[@]}" "s/KUBE_BUILD_IMAGE_CROSS_TAG/${KUBE_BUILD_IMAGE_CROSS_TAG}/" "${LOCAL_OUTPUT_BUILD_CONTEXT}/Dockerfile"
}

function kube::build::ensure_docker_in_path() {
if [[ -z "$(which docker)" ]]; then
kube::log::error "Can't find 'docker' in PATH, please fix and retry."
Expand Down Expand Up @@ -367,8 +358,7 @@ function kube::build::build_image() {
dd if=/dev/urandom bs=512 count=1 2>/dev/null | LC_ALL=C tr -dc 'A-Za-z0-9' | dd bs=32 count=1 2>/dev/null > "${LOCAL_OUTPUT_BUILD_CONTEXT}/rsyncd.password"
chmod go= "${LOCAL_OUTPUT_BUILD_CONTEXT}/rsyncd.password"

kube::build::update_dockerfile
kube::build::docker_build "${KUBE_BUILD_IMAGE}" "${LOCAL_OUTPUT_BUILD_CONTEXT}" 'false'
kube::build::docker_build "${KUBE_BUILD_IMAGE}" "${LOCAL_OUTPUT_BUILD_CONTEXT}" 'false' "--build-arg=KUBE_BUILD_IMAGE_CROSS_TAG=${KUBE_BUILD_IMAGE_CROSS_TAG}"

# Clean up old versions of everything
kube::build::docker_delete_old_containers "${KUBE_BUILD_CONTAINER_NAME_BASE}" "${KUBE_BUILD_CONTAINER_NAME}"
Expand All @@ -384,11 +374,13 @@ function kube::build::build_image() {
# $1 is the name of the image to build
# $2 is the location of the "context" directory, with the Dockerfile at the root.
# $3 is the value to set the --pull flag for docker build; true by default
# $4 is the set of --build-args for docker.
function kube::build::docker_build() {
local -r image=$1
local -r context_dir=$2
local -r pull="${3:-true}"
local -ra build_cmd=("${DOCKER[@]}" build -t "${image}" "--pull=${pull}" "${context_dir}")
local -r build_args=$4
local -ra build_cmd=("${DOCKER[@]}" build -t "${image}" "--pull=${pull}" "${build_args}" "${context_dir}")

kube::log::status "Building Docker image ${image}"
local docker_output
Expand Down

0 comments on commit 53345a2

Please sign in to comment.