github.com/alloyci/alloy-runner@v1.0.1-0.20180222164613-925503ccafd6/tests/test_installation.sh (about) 1 #!/bin/bash 2 3 if [[ $# -lt 2 ]]; then 4 echo "usage $0: <image> <file> <upgrade>" 5 exit 1 6 fi 7 8 set -xe 9 set -o pipefail 10 11 IMAGE="$1" 12 INSTALL_FILE="$2" 13 UPGRADE="$3" 14 15 if [[ ! -f "$INSTALL_FILE" ]]; then 16 echo "$INSTALL_FILE: not found" 17 exit 1 18 fi 19 20 ID=gitlab_runner 21 docker rm -f -v $ID || : 22 docker run -d --name $ID --privileged "$IMAGE" /sbin/init 23 # trap "docker rm -f -v $ID" EXIT 24 cat "$INSTALL_FILE" | docker exec -i $ID bash -c "cat > /$(basename $INSTALL_FILE)" 25 26 case $IMAGE in 27 debian:*|ubuntu-upstart:*) 28 docker exec $ID apt-get update -y 29 docker exec $ID apt-get install -y curl procps 30 if [[ -n "$UPGRADE" ]]; then 31 curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | docker exec -i $ID bash 32 docker exec $ID apt-get install -y gitlab-runner 33 fi 34 if ! docker exec $ID dpkg -i "/$(basename $INSTALL_FILE)" 35 then 36 docker exec $ID apt-get install -f -y 37 docker exec $ID dpkg -i "/$(basename $INSTALL_FILE)" 38 fi 39 ;; 40 41 centos:*) 42 docker exec $ID yum install -y curl sysvinit-tools 43 if [[ -n "$UPGRADE" ]]; then 44 curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | docker exec -i $ID bash 45 docker exec $ID yum install -y gitlab-runner 46 fi 47 docker exec $ID yum localinstall -y "/$(basename $INSTALL_FILE)" 48 ;; 49 50 *) 51 echo "ERROR: unsupported $IMAGE." 52 esac 53 54 if [[ -n "$UPGRADE" ]]; then 55 USER="gitlab_ci_multi_runner" 56 else 57 USER="gitlab-runner" 58 fi 59 60 cat $(dirname $0)/test_script.sh | docker exec -i $ID bash -s "$USER"