2021-06-16 15:26:09 +02:00
image : docker
services :
- docker:dind
stages :
- build
2022-05-03 17:00:05 +02:00
- manifest
2021-06-16 15:26:09 +02:00
- readme
2022-05-03 17:00:05 +02:00
- test
2022-05-11 18:28:40 +02:00
- linktests
2021-06-16 15:26:09 +02:00
2021-10-25 21:41:38 +02:00
variables :
DOCKER_AUTH_CONFIG : ${_DOCKER_AUTH_CONFIG}
2021-06-16 15:26:09 +02:00
before_script :
- docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD
- export SANITIZED_BRANCH="$(echo $CI_COMMIT_REF_NAME | sed -r 's#^release/##' | sed 's/\//_/g')"
- export SANITIZED_ROLLING_BRANCH=${SANITIZED_BRANCH}-rolling
# Jobs for the develop and release branches. They should push to the private and public repos
build_ubuntu_bionic :
stage : build
2021-10-28 14:39:18 +02:00
image : ${ORG_NAME}/docker-buildx-private:develop
2021-10-26 21:51:56 +02:00
variables :
BUILD_PLATFORMS : "linux/amd64,linux/arm64"
2021-06-16 15:26:09 +02:00
script :
2021-10-26 14:12:54 +02:00
# get qemu ready
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
# prep the buildx env
- docker buildx create --use
# build for multiple architectures
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-ubuntu-bionic-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-ubuntu-bionic-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-ubuntu-bionic:$SANITIZED_BRANCH -t ${ORG_NAME}/core-ubuntu-bionic:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="ubuntu:18.04" --build-arg BG_IMG=bg_bionic.png -f dockerfile-kasm-core .
2021-06-16 15:26:09 +02:00
only :
- develop
- /^release\/.*$/
except :
- schedules
2021-10-26 14:12:54 +02:00
tags :
- aws-autoscale
2021-06-16 15:26:09 +02:00
2022-03-22 19:46:14 +01:00
build_ubuntu_focal :
stage : build
image : ${ORG_NAME}/docker-buildx-private:develop
variables :
BUILD_PLATFORMS : "linux/amd64,linux/arm64"
script :
# get qemu ready
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
# prep the buildx env
- docker buildx create --use
# build for multiple architectures
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-ubuntu-focal-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-ubuntu-focal-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-ubuntu-focal:$SANITIZED_BRANCH -t ${ORG_NAME}/core-ubuntu-focal:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg BASE_IMAGE="ubuntu:20.04" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_focal.png -f dockerfile-kasm-core .
only :
- develop
- /^release\/.*$/
except :
- schedules
tags :
- aws-autoscale
build_cuda_focal :
stage : build
script :
- docker build -t ${ORG_NAME}/core-cuda-focal-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-cuda-focal-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-cuda-focal:$SANITIZED_BRANCH -t ${ORG_NAME}/core-cuda-focal:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg BASE_IMAGE="nvidia/cuda:11.6.0-devel-ubuntu20.04" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_focal.png -f dockerfile-kasm-core .
- docker push ${ORG_NAME}/core-cuda-focal-private:$SANITIZED_BRANCH
- docker push ${ORG_NAME}/core-cuda-focal-private:$SANITIZED_ROLLING_BRANCH
- docker push ${ORG_NAME}/core-cuda-focal:$SANITIZED_BRANCH
- docker push ${ORG_NAME}/core-cuda-focal:$SANITIZED_ROLLING_BRANCH
only :
- develop
- /^release\/.*$/
except :
- schedules
2021-12-10 21:30:34 +01:00
build_nvidia_focal :
stage : build
2022-01-04 13:47:21 +01:00
image : ${ORG_NAME}/docker-buildx-private:develop
2022-01-04 14:18:13 +01:00
variables :
BUILD_PLATFORMS : "linux/amd64,linux/arm64"
2021-12-10 21:30:34 +01:00
script :
2022-01-04 13:47:21 +01:00
# get qemu ready
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
# prep the buildx env
- docker buildx create --use
# build for multiple architectures
2022-03-22 19:46:14 +01:00
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-nvidia-focal-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-nvidia-focal-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-nvidia-focal:$SANITIZED_BRANCH -t ${ORG_NAME}/core-nvidia-focal:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg BASE_IMAGE="ubuntu:20.04" --build-arg BG_IMG=bg_focal.png -f dockerfile-kasm-core-nvidia .
2022-01-04 13:47:21 +01:00
tags :
- aws-autoscale
2021-12-10 21:30:34 +01:00
only :
- develop
- /^release\/.*$/
except :
- schedules
2021-06-16 15:26:09 +02:00
build_remnux_bionic :
stage : build
script :
- docker build -t ${ORG_NAME}/core-remnux-bionic-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-remnux-bionic-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-remnux-bionic:$SANITIZED_BRANCH -t ${ORG_NAME}/core-remnux-bionic:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="remnux/remnux-distro:bionic" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_remnux.png --build-arg EXTRA_SH=remnux.sh -f dockerfile-kasm-core .
- docker push ${ORG_NAME}/core-remnux-bionic-private:$SANITIZED_BRANCH
- docker push ${ORG_NAME}/core-remnux-bionic-private:$SANITIZED_ROLLING_BRANCH
- docker push ${ORG_NAME}/core-remnux-bionic:$SANITIZED_BRANCH
- docker push ${ORG_NAME}/core-remnux-bionic:$SANITIZED_ROLLING_BRANCH
only :
- develop
- /^release\/.*$/
except :
- schedules
2022-05-03 22:24:47 +02:00
tags :
- aws-autoscale
2021-06-16 15:26:09 +02:00
2022-03-22 19:46:14 +01:00
build_remnux_focal :
stage : build
script :
- docker build -t ${ORG_NAME}/core-remnux-focal-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-remnux-focal-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-remnux-focal:$SANITIZED_BRANCH -t ${ORG_NAME}/core-remnux-focal:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg BASE_IMAGE="remnux/remnux-distro:focal" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_remnux.png --build-arg EXTRA_SH=remnux.sh -f dockerfile-kasm-core .
- docker push ${ORG_NAME}/core-remnux-focal-private:$SANITIZED_BRANCH
- docker push ${ORG_NAME}/core-remnux-focal-private:$SANITIZED_ROLLING_BRANCH
- docker push ${ORG_NAME}/core-remnux-focal:$SANITIZED_BRANCH
- docker push ${ORG_NAME}/core-remnux-focal:$SANITIZED_ROLLING_BRANCH
only :
- develop
- /^release\/.*$/
except :
- schedules
tags :
- aws-autoscale
2021-06-16 15:26:09 +02:00
build_kali_rolling :
stage : build
2022-01-19 02:40:27 +01:00
image : ${ORG_NAME}/docker-buildx-private:develop
variables :
BUILD_PLATFORMS : "linux/amd64,linux/arm64"
2021-06-16 15:26:09 +02:00
script :
2022-01-19 02:40:27 +01:00
# get qemu ready
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
# prep the buildx env
- docker buildx create --use
# build for multiple architectures
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-kali-rolling-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-kali-rolling-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-kali-rolling:$SANITIZED_BRANCH -t ${ORG_NAME}/core-kali-rolling:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="kalilinux/kali-rolling:latest" --build-arg START_PULSEAUDIO="1" --build-arg EXTRA_SH="kali.sh" --build-arg DISTRO="kali" --build-arg LANG="" --build-arg LANGUAGE="" --build-arg LC_ALL="" -f dockerfile-kasm-core .
2021-06-16 15:26:09 +02:00
only :
- develop
- /^release\/.*$/
except :
- schedules
2021-10-14 17:55:12 +02:00
tags :
- aws-autoscale
2021-06-16 15:26:09 +02:00
build_centos :
stage : build
script :
- docker build -t ${ORG_NAME}/core-centos-7-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-centos-7-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-centos-7:$SANITIZED_BRANCH -t ${ORG_NAME}/core-centos-7:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="centos:centos7" --build-arg START_PULSEAUDIO="1" --build-arg START_XFCE4=1 --build-arg DISTRO="centos" --build-arg LANG="" --build-arg LANGUAGE="" --build-arg LC_ALL="" -f dockerfile-kasm-core-centos .
- docker push ${ORG_NAME}/core-centos-7-private:$SANITIZED_BRANCH
- docker push ${ORG_NAME}/core-centos-7-private:$SANITIZED_ROLLING_BRANCH
- docker push ${ORG_NAME}/core-centos-7:$SANITIZED_BRANCH
- docker push ${ORG_NAME}/core-centos-7:$SANITIZED_ROLLING_BRANCH
only :
- develop
- /^release\/.*$/
except :
- schedules
2022-04-06 15:29:07 +02:00
build_oracle_7 :
stage : build
script :
- docker build -t ${ORG_NAME}/core-oracle-7-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-oracle-7-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-oracle-7:$SANITIZED_BRANCH -t ${ORG_NAME}/core-oracle-7:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="oraclelinux:7" --build-arg START_PULSEAUDIO="1" --build-arg START_XFCE4="1" --build-arg DISTRO="oracle7" --build-arg LANG="" --build-arg LANGUAGE="" --build-arg LC_ALL="" -f dockerfile-kasm-core-oracle .
- docker push ${ORG_NAME}/core-oracle-7-private:$SANITIZED_BRANCH
- docker push ${ORG_NAME}/core-oracle-7-private:$SANITIZED_ROLLING_BRANCH
- docker push ${ORG_NAME}/core-oracle-7:$SANITIZED_BRANCH
- docker push ${ORG_NAME}/core-oracle-7:$SANITIZED_ROLLING_BRANCH
only :
- develop
- /^release\/.*$/
except :
- schedules
tags :
- aws-autoscale
build_oracle_8 :
stage : build
image : ${ORG_NAME}/docker-buildx-private:develop
variables :
BUILD_PLATFORMS : "linux/amd64,linux/arm64"
script :
# get qemu ready
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
# prep the buildx env
- docker buildx create --use
# build for multiple architectures
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-oracle-8-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-oracle-8-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-oracle-8:$SANITIZED_BRANCH -t ${ORG_NAME}/core-oracle-8:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg START_XFCE4=1 --build-arg BASE_IMAGE="oraclelinux:8" --build-arg DISTRO="oracle8" -f dockerfile-kasm-core-oracle .
only :
- develop
- /^release\/.*$/
except :
- schedules
tags :
- aws-autoscale
build_opensuse_15 :
stage : build
image : ${ORG_NAME}/docker-buildx-private:develop
variables :
BUILD_PLATFORMS : "linux/amd64,linux/arm64"
script :
# get qemu ready
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
# prep the buildx env
- docker buildx create --use
# build for multiple architectures
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-opensuse-15-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-opensuse-15-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-opensuse-15:$SANITIZED_BRANCH -t ${ORG_NAME}/core-opensuse-15:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg START_XFCE4=1 --build-arg BASE_IMAGE="opensuse/leap:15" --build-arg DISTRO="opensuse" -f dockerfile-kasm-core-suse .
only :
- develop
- /^release\/.*$/
except :
- schedules
tags :
- aws-autoscale
2021-06-16 15:26:09 +02:00
# These jobs should run on the feature/bugfix branches - anything that is not the develop or release branches. It should only push images to the private repos
build_ubuntu_bionic_dev :
stage : build
script :
2022-05-03 17:00:05 +02:00
- >
docker build
-t ${ORG_NAME}/core-ubuntu-bionic-private:$(arch)-$SANITIZED_BRANCH
--build-arg START_PULSEAUDIO=1
--build-arg START_XFCE4=1
--build-arg BASE_IMAGE="ubuntu:18.04"
--build-arg BG_IMG=bg_bionic.png
-f dockerfile-kasm-core .
- docker push ${ORG_NAME}/core-ubuntu-bionic-private:$(arch)-$SANITIZED_BRANCH
2021-06-16 15:26:09 +02:00
except :
- develop
- /^release\/.*$/
2021-10-25 17:56:14 +02:00
tags :
2022-05-03 17:00:05 +02:00
- ${TAG}
parallel :
matrix :
- TAG : [ aws-autoscale, aws-autoscale-arm64 ]
2021-06-16 15:26:09 +02:00
2022-03-22 19:46:14 +01:00
build_ubuntu_focal_dev :
stage : build
script :
2022-05-03 17:00:05 +02:00
- >
docker build
-t ${ORG_NAME}/core-ubuntu-focal-private:$(arch)-$SANITIZED_BRANCH
--build-arg START_PULSEAUDIO=1
--build-arg BASE_IMAGE="ubuntu:20.04"
--build-arg START_XFCE4=1
--build-arg BG_IMG=bg_focal.png
-f dockerfile-kasm-core .
- docker push ${ORG_NAME}/core-ubuntu-focal-private:$(arch)-$SANITIZED_BRANCH
2022-03-22 19:46:14 +01:00
except :
- develop
- /^release\/.*$/
tags :
2022-05-03 17:00:05 +02:00
- ${TAG}
parallel :
matrix :
- TAG : [ aws-autoscale, aws-autoscale-arm64 ]
2021-06-16 15:26:09 +02:00
2022-03-22 19:46:14 +01:00
build_cuda_focal_dev :
stage : build
script :
2022-05-03 17:00:05 +02:00
- >
docker build
-t ${ORG_NAME}/core-cuda-focal-private:$SANITIZED_BRANCH
--build-arg START_PULSEAUDIO=1
--build-arg BASE_IMAGE="nvidia/cuda:11.6.0-devel-ubuntu20.04"
--build-arg START_XFCE4=1
--build-arg BG_IMG=bg_focal.png
-f dockerfile-kasm-core .
2022-03-22 19:46:14 +01:00
- docker push ${ORG_NAME}/core-cuda-focal-private:$SANITIZED_BRANCH
except :
- develop
- /^release\/.*$/
2022-05-03 17:00:05 +02:00
tags :
- aws-autoscale
2022-03-22 19:46:14 +01:00
2021-12-10 21:30:34 +01:00
build_nvidia_focal_dev :
stage : build
script :
2022-05-03 17:00:05 +02:00
- >
docker build
-t ${ORG_NAME}/core-nvidia-focal-private:$(arch)-$SANITIZED_BRANCH
--build-arg START_PULSEAUDIO=1
--build-arg START_XFCE4=1
--build-arg BASE_IMAGE="ubuntu:20.04"
--build-arg BG_IMG=bg_focal.png
-f dockerfile-kasm-core-nvidia .
- docker push ${ORG_NAME}/core-nvidia-focal-private:$(arch)-$SANITIZED_BRANCH
2021-12-10 21:30:34 +01:00
except :
- develop
- /^release\/.*$/
2022-05-03 17:00:05 +02:00
tags :
- ${TAG}
parallel :
matrix :
- TAG : [ aws-autoscale, aws-autoscale-arm64 ]
2021-12-10 21:30:34 +01:00
2021-06-16 15:26:09 +02:00
build_remnux_bionic_dev :
stage : build
script :
2022-05-03 17:00:05 +02:00
- >
docker build
-t ${ORG_NAME}/core-remnux-bionic-private:$SANITIZED_BRANCH
--build-arg BASE_IMAGE="remnux/remnux-distro:bionic"
--build-arg START_PULSEAUDIO=1
--build-arg START_XFCE4=1
--build-arg BG_IMG=bg_remnux.png
--build-arg EXTRA_SH=remnux.sh
-f dockerfile-kasm-core .
2021-06-16 15:26:09 +02:00
- docker push ${ORG_NAME}/core-remnux-bionic-private:$SANITIZED_BRANCH
except :
- develop
- /^release\/.*$/
2022-05-03 17:00:05 +02:00
tags :
- aws-autoscale
2021-06-16 15:26:09 +02:00
2022-03-22 19:46:14 +01:00
build_remnux_focal_dev :
stage : build
script :
2022-05-03 17:00:05 +02:00
- >
docker build
-t ${ORG_NAME}/core-remnux-focal-private:$SANITIZED_BRANCH
--build-arg START_PULSEAUDIO=1
--build-arg BASE_IMAGE="remnux/remnux-distro:focal"
--build-arg START_XFCE4=1
--build-arg BG_IMG=bg_remnux.png
--build-arg EXTRA_SH=remnux.sh
-f dockerfile-kasm-core .
2022-03-22 19:46:14 +01:00
- docker push ${ORG_NAME}/core-remnux-focal-private:$SANITIZED_BRANCH
except :
- develop
- /^release\/.*$/
2022-05-03 17:00:05 +02:00
tags :
- aws-autoscale
2022-03-22 19:46:14 +01:00
2021-06-16 15:26:09 +02:00
build_kali_rolling_dev :
stage : build
script :
2022-05-03 17:00:05 +02:00
- >
docker build
-t ${ORG_NAME}/core-kali-rolling-private:$(arch)-$SANITIZED_BRANCH
--build-arg BASE_IMAGE="kalilinux/kali-rolling:latest"
--build-arg START_PULSEAUDIO="1"
--build-arg EXTRA_SH="kali.sh"
--build-arg DISTRO="kali"
--build-arg LANG=""
--build-arg LANGUAGE=""
--build-arg LC_ALL=""
-f dockerfile-kasm-core .
- docker push ${ORG_NAME}/core-kali-rolling-private:$(arch)-$SANITIZED_BRANCH
2021-06-16 15:26:09 +02:00
except :
- develop
- /^release\/.*$/
2022-05-03 17:00:05 +02:00
tags :
- ${TAG}
parallel :
matrix :
- TAG : [ aws-autoscale, aws-autoscale-arm64 ]
2021-06-16 15:26:09 +02:00
build_centos_dev :
stage : build
script :
2022-05-03 17:00:05 +02:00
- >
docker build
-t ${ORG_NAME}/core-centos-7-private:$SANITIZED_BRANCH
--build-arg BASE_IMAGE="centos:centos7"
--build-arg START_PULSEAUDIO="1"
--build-arg START_XFCE4=1
--build-arg DISTRO="centos"
--build-arg LANG=""
--build-arg LANGUAGE=""
--build-arg LC_ALL=""
-f dockerfile-kasm-core-centos .
2021-06-16 15:26:09 +02:00
- docker push ${ORG_NAME}/core-centos-7-private:$SANITIZED_BRANCH
except :
- develop
- /^release\/.*$/
2022-05-03 17:00:05 +02:00
tags :
- aws-autoscale
2021-06-16 15:26:09 +02:00
2022-04-06 15:29:07 +02:00
build_oracle_7_dev :
stage : build
script :
2022-05-03 17:00:05 +02:00
- >
docker build
-t ${ORG_NAME}/core-oracle-7-private:$SANITIZED_BRANCH
--build-arg BASE_IMAGE="oraclelinux:7"
--build-arg START_PULSEAUDIO="1"
--build-arg START_XFCE4="1"
--build-arg DISTRO="oracle7"
--build-arg LANG=""
--build-arg LANGUAGE=""
--build-arg LC_ALL=""
-f dockerfile-kasm-core-oracle .
2022-04-06 15:29:07 +02:00
- docker push ${ORG_NAME}/core-oracle-7-private:$SANITIZED_BRANCH
except :
- develop
- /^release\/.*$/
tags :
- aws-autoscale
build_oracle_8_dev :
stage : build
script :
2022-05-03 17:00:05 +02:00
- >
docker build
-t ${ORG_NAME}/core-oracle-8-private:$(arch)-$SANITIZED_BRANCH
--build-arg START_PULSEAUDIO=1
--build-arg START_XFCE4=1
--build-arg BASE_IMAGE="oraclelinux:8"
--build-arg DISTRO="oracle8"
-f dockerfile-kasm-core-oracle .
- docker push ${ORG_NAME}/core-oracle-8-private:$(arch)-$SANITIZED_BRANCH
2022-04-06 15:29:07 +02:00
except :
- develop
- /^release\/.*$/
tags :
2022-05-03 17:00:05 +02:00
- ${TAG}
parallel :
matrix :
- TAG : [ aws-autoscale, aws-autoscale-arm64 ]
2022-04-06 15:29:07 +02:00
build_opensuse_15_dev :
stage : build
script :
2022-05-03 17:00:05 +02:00
- >
docker build
-t ${ORG_NAME}/core-opensuse-15-private:$(arch)-$SANITIZED_BRANCH
--build-arg START_PULSEAUDIO=1
--build-arg START_XFCE4=1
--build-arg BASE_IMAGE="opensuse/leap:15"
--build-arg DISTRO="opensuse"
-f dockerfile-kasm-core-suse .
- docker push ${ORG_NAME}/core-opensuse-15-private:$(arch)-$SANITIZED_BRANCH
except :
- develop
- /^release\/.*$/
tags :
- ${TAG}
parallel :
matrix :
- TAG : [ aws-autoscale, aws-autoscale-arm64 ]
test_multi_arch_dev :
stage : test
script :
- docker pull ${ORG_NAME}/kasm-tester:1.10.0
- >
docker run --rm --privileged
-e KASM_PORT=443
-e KASM_PATH=/opt/kasm
-e KASM_PASSWORD=password123
-e PUID=1000
-e DOCKERUSER=$DOCKER_HUB_USERNAME
-e DOCKERPASS=$DOCKER_HUB_PASSWORD
-e TEST_IMAGE="${ORG_NAME}/${KASM_IMAGE}:$(arch)-$SANITIZED_BRANCH"
-e AWS_KEY=${KASM_TEST_AWS_KEY}
-e AWS_SECRET="${KASM_TEST_AWS_SECRET}"
-e SLACK_TOKEN=${SLACK_TOKEN}
-e S3_BUCKET=kasm-ci
-e COMMIT=${CI_COMMIT_SHA}
-e REPO=workspaces-core-images
${ORG_NAME}/kasm-tester:1.10.0
except :
- develop
- /^release\/.*$/
tags :
- ${TAG}
parallel :
matrix :
- TAG : [ aws-autoscale, aws-autoscale-arm64 ]
KASM_IMAGE :
- core-ubuntu-bionic-private
- core-ubuntu-focal-private
- core-nvidia-focal-private
- core-kali-rolling-private
- core-oracle-8-private
- core-opensuse-15-private
test_single_arch_dev :
stage : test
script :
- docker pull ${ORG_NAME}/kasm-tester:1.10.0
- >
docker run --rm --privileged
-e KASM_PORT=443
-e KASM_PATH=/opt/kasm
-e KASM_PASSWORD=password123
-e PUID=1000
-e DOCKERUSER=$DOCKER_HUB_USERNAME
-e DOCKERPASS=$DOCKER_HUB_PASSWORD
-e TEST_IMAGE="${ORG_NAME}/${KASM_IMAGE}:$SANITIZED_BRANCH"
-e AWS_KEY=${KASM_TEST_AWS_KEY}
-e AWS_SECRET="${KASM_TEST_AWS_SECRET}"
-e SLACK_TOKEN=${SLACK_TOKEN}
-e S3_BUCKET=kasm-ci
-e COMMIT=${CI_COMMIT_SHA}
-e REPO=workspaces-core-images
${ORG_NAME}/kasm-tester:1.10.0
except :
- develop
- /^release\/.*$/
tags :
- aws-autoscale
parallel :
matrix :
- KASM_IMAGE :
- core-cuda-bionic-private
- core-cuda-focal-private
- core-remnux-bionic-private
- core-remnux-focal-private
- core-centos-7-private
- core-oracle-7-private
manifest_dev :
stage : manifest
script :
- docker pull ${ORG_NAME}/${KASM_IMAGE}:x86_64-$SANITIZED_BRANCH
- docker pull ${ORG_NAME}/${KASM_IMAGE}:aarch64-$SANITIZED_BRANCH
- "docker manifest push --purge ${ORG_NAME}/${KASM_IMAGE}:$SANITIZED_BRANCH || :"
- docker manifest create ${ORG_NAME}/${KASM_IMAGE}:$SANITIZED_BRANCH ${ORG_NAME}/${KASM_IMAGE}:x86_64-$SANITIZED_BRANCH ${ORG_NAME}/${KASM_IMAGE}:aarch64-$SANITIZED_BRANCH
- docker manifest annotate ${ORG_NAME}/${KASM_IMAGE}:$SANITIZED_BRANCH ${ORG_NAME}/${KASM_IMAGE}:aarch64-$SANITIZED_BRANCH --os linux --arch arm64 --variant v8
- docker manifest push --purge ${ORG_NAME}/${KASM_IMAGE}:$SANITIZED_BRANCH
2022-04-06 15:29:07 +02:00
except :
- develop
- /^release\/.*$/
tags :
- aws-autoscale
2022-05-03 17:00:05 +02:00
parallel :
matrix :
- KASM_IMAGE :
- core-ubuntu-bionic-private
- core-ubuntu-focal-private
- core-nvidia-focal-private
- core-kali-rolling-private
- core-oracle-8-private
2022-05-11 18:28:40 +02:00
- core-opensuse-15-private
link_tests_single_arch_dev :
stage : linktests
image :
name : amazon/aws-cli
entrypoint : [ "" ]
script :
- yum install -y curl
- STATUS=$(curl -sL https://kasm-ci.s3.amazonaws.com/${CI_COMMIT_SHA}/x86_64/kasmweb/${KASM_IMAGE}/${SANITIZED_BRANCH}/ci-status.yml | awk -F'"' '{print $2}')
- if [[ "${STATUS}" == "PASS" ]]; then STATE=success; else STATE=failed; fi;
- curl --request POST --header "PRIVATE-TOKEN:${GITLAB_API_TOKEN}" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/statuses/${CI_COMMIT_SHA}?state=${STATE}&name=${KASM_IMAGE}_x86_64&target_url=https://kasm-ci.s3.amazonaws.com/${CI_COMMIT_SHA}/x86_64/kasmweb/${KASM_IMAGE}/${SANITIZED_BRANCH}/index.html"
parallel :
matrix :
- KASM_IMAGE :
- core-cuda-bionic-private
- core-cuda-focal-private
- core-remnux-bionic-private
- core-remnux-focal-private
- core-centos-7-private
- core-oracle-7-private
link_tests_multi_arch_dev :
stage : linktests
image :
name : amazon/aws-cli
entrypoint : [ "" ]
script :
- yum install -y curl
- STATUS=$(curl -sL https://kasm-ci.s3.amazonaws.com/${CI_COMMIT_SHA}/${ARCH}/kasmweb/${KASM_IMAGE}/${ARCH}-${SANITIZED_BRANCH}/ci-status.yml | awk -F'"' '{print $2}')
- if [[ "${STATUS}" == "PASS" ]]; then STATE=success; else STATE=failed; fi;
- curl --request POST --header "PRIVATE-TOKEN:${GITLAB_API_TOKEN}" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/statuses/${CI_COMMIT_SHA}?state=${STATE}&name=${KASM_IMAGE}_${ARCH}&target_url=https://kasm-ci.s3.amazonaws.com/${CI_COMMIT_SHA}/${ARCH}/kasmweb/${KASM_IMAGE}/${ARCH}-${SANITIZED_BRANCH}/index.html"
parallel :
matrix :
- ARCH : [ aarch64, x86_64 ]
KASM_IMAGE :
- core-ubuntu-bionic-private
- core-ubuntu-focal-private
- core-nvidia-focal-private
- core-kali-rolling-private
- core-oracle-8-private
2022-05-03 17:00:05 +02:00
- core-opensuse-15-private
2022-04-06 15:29:07 +02:00
2021-06-16 15:26:09 +02:00
# These jobs are for the "rolling" release of the images. They should only run for scheduled jobs and should only push the rolling tags
build_ubuntu_bionic_scheduled :
stage : build
2021-10-28 14:39:18 +02:00
image : ${ORG_NAME}/docker-buildx-private:develop
2021-10-26 21:51:56 +02:00
variables :
BUILD_PLATFORMS : "linux/amd64,linux/arm64"
2021-06-16 15:26:09 +02:00
script :
2021-10-26 14:12:54 +02:00
# get qemu ready
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
# prep the buildx env
- docker buildx create --use
# build for multiple architectures
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-ubuntu-bionic-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-ubuntu-bionic:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="ubuntu:18.04" --build-arg BG_IMG=bg_bionic.png -f dockerfile-kasm-core .
2021-06-16 15:26:09 +02:00
only :
- schedules
2021-10-26 14:12:54 +02:00
tags :
- aws-autoscale
2021-06-16 15:26:09 +02:00
2022-03-22 19:46:14 +01:00
build_ubuntu_focal_scheduled :
stage : build
image : ${ORG_NAME}/docker-buildx-private:develop
variables :
BUILD_PLATFORMS : "linux/amd64,linux/arm64"
script :
# get qemu ready
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
# prep the buildx env
- docker buildx create --use
# build for multiple architectures
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-ubuntu-focal-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-ubuntu-focal:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg BASE_IMAGE="ubuntu:20.04" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_focal.png -f dockerfile-kasm-core .
only :
- schedules
tags :
- aws-autoscale
build_cuda_focal_schedules :
stage : build
script :
- docker build -t ${ORG_NAME}/core-cuda-focal-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-cuda-focal:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg BASE_IMAGE="nvidia/cuda:11.6.0-devel-ubuntu20.04" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_focal.png -f dockerfile-kasm-core .
- docker push ${ORG_NAME}/core-cuda-focal-private:$SANITIZED_ROLLING_BRANCH
- docker push ${ORG_NAME}/core-cuda-focal:$SANITIZED_ROLLING_BRANCH
only :
- schedules
2021-12-10 21:30:34 +01:00
build_nvidia_focal_schedules :
stage : build
2022-01-04 13:47:21 +01:00
image : ${ORG_NAME}/docker-buildx-private:develop
variables :
BUILD_PLATFORMS : "linux/amd64,linux/arm64"
2021-12-10 21:30:34 +01:00
script :
2022-01-04 13:47:21 +01:00
# get qemu ready
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
# prep the buildx env
- docker buildx create --use
# build for multiple architectures
2022-05-03 17:00:05 +02:00
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-nvidia-focal-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-nvidia-focal:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="ubuntu:20.04" --build-arg BG_IMG=bg_focal.png -f dockerfile-kasm-core-nvidia .
2022-01-04 13:47:21 +01:00
tags :
- aws-autoscale
2021-12-10 21:30:34 +01:00
only :
- schedules
2021-06-16 15:26:09 +02:00
build_remnux_bionic_schedules :
stage : build
script :
- docker build -t ${ORG_NAME}/core-remnux-bionic-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-remnux-bionic:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="remnux/remnux-distro:bionic" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_remnux.png --build-arg EXTRA_SH=remnux.sh -f dockerfile-kasm-core .
- docker push ${ORG_NAME}/core-remnux-bionic-private:$SANITIZED_ROLLING_BRANCH
- docker push ${ORG_NAME}/core-remnux-bionic:$SANITIZED_ROLLING_BRANCH
only :
- schedules
2022-05-03 22:24:47 +02:00
tags :
- aws-autoscale
2021-06-16 15:26:09 +02:00
2022-03-22 19:46:14 +01:00
build_remnux_focal_schedules :
stage : build
script :
- docker build -t ${ORG_NAME}/core-remnux-focal-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-remnux-focal:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg BASE_IMAGE="remnux/remnux-distro:focal" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_remnux.png --build-arg EXTRA_SH=remnux.sh -f dockerfile-kasm-core .
- docker push ${ORG_NAME}/core-remnux-focal-private:$SANITIZED_ROLLING_BRANCH
- docker push ${ORG_NAME}/core-remnux-focal:$SANITIZED_ROLLING_BRANCH
tags :
- aws-autoscale
only :
- schedules
2021-06-16 15:26:09 +02:00
build_kali_rolling_schedules :
stage : build
2022-01-19 02:40:27 +01:00
image : ${ORG_NAME}/docker-buildx-private:develop
variables :
BUILD_PLATFORMS : "linux/amd64,linux/arm64"
2021-06-16 15:26:09 +02:00
script :
2022-01-19 02:40:27 +01:00
# get qemu ready
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
# prep the buildx env
- docker buildx create --use
# build for multiple architectures
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-kali-rolling-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-kali-rolling:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="kalilinux/kali-rolling:latest" --build-arg START_PULSEAUDIO="1" --build-arg EXTRA_SH="kali.sh" --build-arg DISTRO="kali" --build-arg LANG="" --build-arg LANGUAGE="" --build-arg LC_ALL="" -f dockerfile-kasm-core .
2021-06-16 15:26:09 +02:00
only :
- schedules
2021-10-14 17:55:12 +02:00
tags :
- aws-autoscale
2021-06-16 15:26:09 +02:00
build_centos_schedules :
stage : build
script :
- docker build -t ${ORG_NAME}/core-centos-7-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-centos-7:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="centos:centos7" --build-arg START_PULSEAUDIO="1" --build-arg START_XFCE4=1 --build-arg DISTRO="centos" --build-arg LANG="" --build-arg LANGUAGE="" --build-arg LC_ALL="" -f dockerfile-kasm-core-centos .
- docker push ${ORG_NAME}/core-centos-7-private:$SANITIZED_ROLLING_BRANCH
- docker push ${ORG_NAME}/core-centos-7:$SANITIZED_ROLLING_BRANCH
only :
- schedules
2022-04-06 15:29:07 +02:00
build_oracle_7_schedules :
stage : build
script :
- docker build -t ${ORG_NAME}/core-oracle-7-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-oracle-7:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="oraclelinux:7" --build-arg START_PULSEAUDIO="1" --build-arg START_XFCE4="1" --build-arg DISTRO="oracle7" --build-arg LANG="" --build-arg LANGUAGE="" --build-arg LC_ALL="" -f dockerfile-kasm-core-oracle .
- docker push ${ORG_NAME}/core-oracle-7-private:$SANITIZED_ROLLING_BRANCH
- docker push ${ORG_NAME}/core-oracle-7:$SANITIZED_ROLLING_BRANCH
only :
- schedules
tags :
- aws-autoscale
build_oracle_8_scheduled :
stage : build
image : ${ORG_NAME}/docker-buildx-private:develop
variables :
BUILD_PLATFORMS : "linux/amd64,linux/arm64"
script :
# get qemu ready
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
# prep the buildx env
- docker buildx create --use
# build for multiple architectures
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-oracle-8-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-oracle-8:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg START_XFCE4=1 --build-arg BASE_IMAGE="oraclelinux:8" --build-arg DISTRO="oracle8" -f dockerfile-kasm-core-oracle .
only :
- schedules
tags :
- aws-autoscale
build_opensuse_15_scheduled :
stage : build
image : ${ORG_NAME}/docker-buildx-private:develop
variables :
BUILD_PLATFORMS : "linux/amd64,linux/arm64"
script :
# get qemu ready
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
# prep the buildx env
- docker buildx create --use
# build for multiple architectures
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-opensuse-15-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-opensuse-15:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg START_XFCE4=1 --build-arg BASE_IMAGE="opensuse/leap:15" --build-arg DISTRO="opensuse" -f dockerfile-kasm-core-suse .
only :
- schedules
tags :
- aws-autoscale
2021-06-16 15:26:09 +02:00
update_readmes :
stage : readme
script :
- apk add git
- git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@${README_TEMPLATE_REPO}
- sed -e "/{about}/r docs/$KASM_IMAGE/README.md" -e "/{about}/d" dockerhub-readme-template/TEMPLATE.md > docs/$KASM_IMAGE/FULL_README.md
- cat docs/$KASM_IMAGE/FULL_README.md
2022-05-03 17:00:05 +02:00
- >
docker run -v $PWD:/workspace
-e DOCKER_USERNAME="$README_USERNAME"
-e DOCKER_PASSWORD="$README_PASSWORD"
-e DOCKERHUB_REPOSITORY="${ORG_NAME}/$KASM_IMAGE-private"
-e README_FILEPATH="/workspace/docs/$KASM_IMAGE/FULL_README.md"
-e DESCRIPTION_FILEPATH="/workspace/docs/$KASM_IMAGE/description.txt"
${ORG_NAME}/dockerhub-updater:latest
- >
docker run -v $PWD:/workspace
-e DOCKER_USERNAME="$README_USERNAME"
-e DOCKER_PASSWORD="$README_PASSWORD"
-e DOCKERHUB_REPOSITORY="${ORG_NAME}/$KASM_IMAGE"
-e README_FILEPATH="/workspace/docs/$KASM_IMAGE/FULL_README.md"
-e DESCRIPTION_FILEPATH="/workspace/docs/$KASM_IMAGE/description.txt"
${ORG_NAME}/dockerhub-updater:latest
2021-06-16 15:26:09 +02:00
only :
variables :
- $README_USERNAME
- $README_PASSWORD
parallel :
matrix :
2022-05-03 17:00:05 +02:00
- KASM_IMAGE :
- core-centos-7
- core-oracle-7
- core-oracle-8
- core-opensuse-15
- core-kali-rolling
- core-remnux-bionic
- core-remnux-focal
- core-cuda-bionic
- core-cuda-focal
- core-ubuntu-bionic
- core-ubuntu-focal
- core-nvidia-focal