[DOC] Update changelog
[oom/offline-installer.git] / ansible / docker / build_ansible_image.sh
1 #! /usr/bin/env bash
2
3 #   COPYRIGHT NOTICE STARTS HERE
4
5 #   Copyright 2018 © Samsung Electronics Co., Ltd.
6 #
7 #   Licensed under the Apache License, Version 2.0 (the "License");
8 #   you may not use this file except in compliance with the License.
9 #   You may obtain a copy of the License at
10 #
11 #       http://www.apache.org/licenses/LICENSE-2.0
12 #
13 #   Unless required by applicable law or agreed to in writing, software
14 #   distributed under the License is distributed on an "AS IS" BASIS,
15 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 #   See the License for the specific language governing permissions and
17 #   limitations under the License.
18
19 #   COPYRIGHT NOTICE ENDS HERE
20
21
22 set -e
23
24 ansible_version="$1"
25 image_name="${2:-ansible:latest}"
26
27 # Override image name from env variable if set
28 image_name="${ANSIBLE_CHROOT_IMAGE_NAME:-$image_name}"
29
30 script_path=$(readlink -f "$0")
31 script_dir=$(dirname "$script_path")
32
33 git_commit=$(git rev-parse --revs-only HEAD || true)
34 build_date=$(date -I)
35
36 docker build "$script_dir" -t "${image_name}" --label "build-date=$build_date" \
37     ${git_commit:+--label git-commit=${git_commit}} \
38     ${ansible_version:+--build-arg ansible_version=${ansible_version}}
39
40 # Export docker image into chroot and tararchive it. It takes ~40M of space and is packaged together with sw.
41 if "${script_dir}"/create_docker_chroot.sh convert "${image_name}" "${script_dir}"/ansible_chroot ; then
42     cd "$script_dir"
43     echo INFO: "Tarring and zipping the chroot directory..." >&2
44     tar -czf ansible_chroot.tgz ansible_chroot
45     rm -rf "${script_dir}"/ansible_chroot
46     echo INFO: "Finished: ${script_dir}/ansible_chroot.tgz" >&2
47     cd -
48 else
49     echo ERROR: "I failed to create a chroot environment" >&2
50     exit 1
51 fi
52
53 exit 0