Merge "Adding ansible vncserver role"
[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 script_path=$(readlink -f "$0")
28 script_dir=$(dirname "$script_path")
29
30 git_commit=$(git rev-parse --revs-only HEAD)
31 build_date=$(date -I)
32
33 if [ -z "$ansible_version" ]; then
34     docker build "$script_dir" -t "${image_name}" --label "git-commit=$git_commit" --label "build-date=$build_date"
35 else
36     docker build "$script_dir" -t "${image_name}" --label "git-commit=$git_commit" --label "build-date=$build_date" --build-arg ansible_version="$ansible_version"
37 fi
38
39 # Export docker image into chroot and tararchive it. It takes ~40M of space and is packaged together with sw.
40 if "${script_dir}"/create_docker_chroot.sh convert "${image_name}" "${script_dir}"/ansible_chroot ; then
41     cd "$script_dir"
42     echo INFO: "Tarring and zipping the chroot directory..." >&2
43     tar -czf ansible_chroot.tgz ansible_chroot
44     rm -rf "${script_dir}"/ansible_chroot
45     echo INFO: "Finished: ${script_dir}/ansible_chroot.tgz" >&2
46     cd -
47 else
48     echo ERROR: "I failed to create a chroot environment" >&2
49     exit 1
50 fi
51
52 exit 0