build_docker_image.sh #5

  • //
  • guest/
  • perforce_software/
  • sdp/
  • main/
  • test/
  • build_docker_image.sh
  • View
  • Commits
  • Open Download .zip Download (2 KB)
#!/bin/bash
#------------------------------------------------------------------------------
set -u

#------------------------------------------------------------------------------
# Build the Docker containers for the SDP - now using podman instead of docker

# Usage Exaxmples:
#    sdp/test/build_docker_image.sh
#    sdp/test/build_docker_image.sh ubuntu20
#    sdp/test/build_docker_image.sh centos7 ubuntu20
#    sdp/test/build_docker_image.sh all
#    sdp/test/build_docker_image.sh ALL
#
# Goes together with run_docker_tests.sh
# This is provided as a useful tool for testing!
#
# Note that this file is expecting to be mapped into the root of the workspace
# and with the sdp directory in the same root.
# So workspace view should look something like:
#    View:
#        //guest/perforce_software/sdp/main/... //myws.sdp/sdp/...

declare oses=

# This file should be in <workspace-root>/sdp/test/
# We calculate dir relative to directory of script
script_dir="${0%/*}"
root_dir="$(cd "$script_dir/../.."; pwd -P)"

if [[ "${1:-Unset}" == "Unset" ]]; then
   # Default is currently CentOS 7 only.
   oses="centos7"
else
   for os in $(echo $* | tr ',' ' '); do
      case "$os" in
         (all) oses="centos7 rocky8 ubuntu20";;
         (ALL) oses="centos6 centos7 rocky8 ubuntu20";;
         (ubuntu20) oses+="ubuntu20";;
         (centos7) oses+="centos7";;
         (rocky8) oses+="rocky8";;
         
         (*)
            echo "Warning: Unknown OS [$os]."
            oses+="$os"
         ;;
      esac
   done
fi

echo Building SDP docker containers
for os in $oses; do
    docker_dir="$root_dir/sdp/test/docker"
    dockerfile_base="${docker_dir}/Dockerfile.${os}.base"
    dockerfile_sdp="${docker_dir}/Dockerfile.${os}.sdp"
    # Build the base Docker for the OS, and then the SDP variant on top
    podman build --rm=true -t="perforce/${os}-base" -f "${dockerfile_base}" "${docker_dir}"
    podman build --rm=true -t="perforce/${os}-sdp" -f "${dockerfile_sdp}" "${docker_dir}"
done
# Change User Description Committed
#7 30915 C. Thomas Tyler Released SDP 2024.1.30913 (2024/11/20).
Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'.
#6 30388 C. Thomas Tyler Released SDP 2024.1.30385 (2024/06/11).
Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'.
#5 30297 C. Thomas Tyler Released SDP 2023.2.30295 (2024/05/08).
Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'.
#4 28858 C. Thomas Tyler Released SDP 2022.1.28855 (2022/05/27).
Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'.
#3 28240 C. Thomas Tyler Released SDP 2021.1.28238 (2021/11/12).
Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'.
#2 27331 C. Thomas Tyler Released SDP 2020.1.27325 (2021/01/29).
Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'.
#1 25245 C. Thomas Tyler Released SDP 2019.1.25238 (2019/03/02).
Copy Up using 'p4 copy -r -b perforce_software-sdp-dev'.
//guest/perforce_software/sdp/dev/test/build_docker_image.sh
#2 25153 Robert Cowham Change scripts to be able to be run from workspace root
sdp/test/run_docker_tests.sh

So no longer requires funny mapping in workspace view (see README.md for view)
#1 25150 Robert Cowham Utiltiy script to help build docker images
//guest/robert_cowham/perforce/sdp/test/build_docker_image.sh
#5 25116 Robert Cowham Docker compose tests starting to get there...
#4 23433 Robert Cowham Got it working with basic ssh stuff if sshd run manually on a box
#3 22485 Robert Cowham Update python to 3.5
Refactor tests to simplify workspace (no mapping into root), and to allow easy setup
#2 20827 Robert Cowham Default to centos6 for nowç
#1 20813 Robert Cowham Using docker-compose