From 660ea974f975aeb7a5a4133b37457a7aa087683d Mon Sep 17 00:00:00 2001 From: Jamil Bou Kheir Date: Tue, 13 Jul 2021 12:23:32 +0000 Subject: [PATCH] Refactor base build scripts --- .ci/build_amazonlinux_2.base.sh | 9 ++++ .ci/build_centos_7.base.sh | 9 ++++ .ci/build_centos_8.base.sh | 9 ++++ .ci/build_debian_10.base.sh | 9 ++++ .ci/build_fedora_33.base.sh | 9 ++++ .ci/build_fedora_34.base.sh | 9 ++++ .ci/build_fedora_35.base.sh | 9 ++++ .ci/build_ubuntu_18.04.base.sh | 9 ++++ .ci/build_ubuntu_20.04.base.sh | 9 ++++ pkg/Dockerfile.base.rpm | 1 + scripts/build_and_push_base_images.sh | 71 ++++----------------------- 11 files changed, 91 insertions(+), 62 deletions(-) create mode 100755 .ci/build_amazonlinux_2.base.sh create mode 100755 .ci/build_centos_7.base.sh create mode 100755 .ci/build_centos_8.base.sh create mode 100755 .ci/build_debian_10.base.sh create mode 100755 .ci/build_fedora_33.base.sh create mode 100755 .ci/build_fedora_34.base.sh create mode 100755 .ci/build_fedora_35.base.sh create mode 100755 .ci/build_ubuntu_18.04.base.sh create mode 100755 .ci/build_ubuntu_20.04.base.sh diff --git a/.ci/build_amazonlinux_2.base.sh b/.ci/build_amazonlinux_2.base.sh new file mode 100755 index 000000000..09d410149 --- /dev/null +++ b/.ci/build_amazonlinux_2.base.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +set -e + +docker build \ + -t ghcr.io/firezone/amazonlinux:2 \ + -f pkg/Dockerfile.base.rpm \ + --build-arg BASE_IMAGE="amazonlinux:2" \ + --progress plain \ + . diff --git a/.ci/build_centos_7.base.sh b/.ci/build_centos_7.base.sh new file mode 100755 index 000000000..1ff702e6f --- /dev/null +++ b/.ci/build_centos_7.base.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +set -e + +docker build \ + -t ghcr.io/firezone/centos:7 \ + -f pkg/Dockerfile.base.rpm \ + --build-arg BASE_IMAGE="centos:7" \ + --progress plain \ + . diff --git a/.ci/build_centos_8.base.sh b/.ci/build_centos_8.base.sh new file mode 100755 index 000000000..6ade7dc33 --- /dev/null +++ b/.ci/build_centos_8.base.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +set -e + +docker build \ + -t ghcr.io/firezone/centos:8 \ + -f pkg/Dockerfile.base.rpm \ + --build-arg BASE_IMAGE="centos:8" \ + --progress plain \ + . diff --git a/.ci/build_debian_10.base.sh b/.ci/build_debian_10.base.sh new file mode 100755 index 000000000..1c7b2d54e --- /dev/null +++ b/.ci/build_debian_10.base.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +set -e + +docker build \ + -t ghcr.io/firezone/debian:10 \ + -f pkg/Dockerfile.base.deb \ + --build-arg BASE_IMAGE="debian:10" \ + --progress plain \ + . diff --git a/.ci/build_fedora_33.base.sh b/.ci/build_fedora_33.base.sh new file mode 100755 index 000000000..0a15b7c41 --- /dev/null +++ b/.ci/build_fedora_33.base.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +set -e + +docker build \ + -t ghcr.io/firezone/fedora:33 \ + -f pkg/Dockerfile.base.rpm \ + --build-arg BASE_IMAGE="fedora:33" \ + --progress plain \ + . diff --git a/.ci/build_fedora_34.base.sh b/.ci/build_fedora_34.base.sh new file mode 100755 index 000000000..ba760103f --- /dev/null +++ b/.ci/build_fedora_34.base.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +set -e + +docker build \ + -t ghcr.io/firezone/fedora:34 \ + -f pkg/Dockerfile.base.rpm \ + --build-arg BASE_IMAGE="fedora:34" \ + --progress plain \ + . diff --git a/.ci/build_fedora_35.base.sh b/.ci/build_fedora_35.base.sh new file mode 100755 index 000000000..f098887fb --- /dev/null +++ b/.ci/build_fedora_35.base.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +set -e + +docker build \ + -t ghcr.io/firezone/fedora:35 \ + -f pkg/Dockerfile.base.rpm \ + --build-arg BASE_IMAGE="fedora:35" \ + --progress plain \ + . diff --git a/.ci/build_ubuntu_18.04.base.sh b/.ci/build_ubuntu_18.04.base.sh new file mode 100755 index 000000000..fbd5403bb --- /dev/null +++ b/.ci/build_ubuntu_18.04.base.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +set -e + +docker build \ + -t ghcr.io/firezone/ubuntu:18.04 \ + -f pkg/Dockerfile.base.deb \ + --build-arg BASE_IMAGE="ubuntu:18.04" \ + --progress plain \ + . diff --git a/.ci/build_ubuntu_20.04.base.sh b/.ci/build_ubuntu_20.04.base.sh new file mode 100755 index 000000000..1214ca3ab --- /dev/null +++ b/.ci/build_ubuntu_20.04.base.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +set -e + +docker build \ + -t ghcr.io/firezone/ubuntu:20.04 \ + -f pkg/Dockerfile.base.deb \ + --build-arg BASE_IMAGE="ubuntu:20.04" \ + --progress plain \ + . diff --git a/pkg/Dockerfile.base.rpm b/pkg/Dockerfile.base.rpm index b5d200e44..376e248a7 100644 --- a/pkg/Dockerfile.base.rpm +++ b/pkg/Dockerfile.base.rpm @@ -22,6 +22,7 @@ RUN yum install -y \ unzip \ rpmdevtools \ rpmlint +ENV SHELL /bin/zsh RUN localedef -i en_US -f UTF-8 en_US.UTF-8 RUN git clone --depth 1 https://github.com/asdf-vm/asdf.git $HOME/.asdf ENV PATH="/root/.asdf/bin:/root/.asdf/shims:${PATH}" diff --git a/scripts/build_and_push_base_images.sh b/scripts/build_and_push_base_images.sh index 6402b880d..d6aaf018c 100755 --- a/scripts/build_and_push_base_images.sh +++ b/scripts/build_and_push_base_images.sh @@ -1,82 +1,29 @@ #!/bin/bash set -e -docker build \ - -t ghcr.io/firezone/amazonlinux:2 \ - -f pkg/Dockerfile.base.rpm \ - --build-arg BASE_IMAGE="amazonlinux:2" \ - --progress plain \ - . +.ci/build_amazonlinux_2.base.sh docker push ghcr.io/firezone/amazonlinux:2 - -docker build \ - -t ghcr.io/firezone/centos:7 \ - -f pkg/Dockerfile.base.rpm \ - --build-arg BASE_IMAGE="centos:7" \ - --progress plain \ - . +.ci/build_centos_7.base.sh docker push ghcr.io/firezone/centos:7 - -docker build \ - -t ghcr.io/firezone/centos:8 \ - -f pkg/Dockerfile.base.rpm \ - --build-arg BASE_IMAGE="centos:8" \ - --progress plain \ - . +.ci/build_centos_8.base.sh docker push ghcr.io/firezone/centos:8 - -docker build \ - -t ghcr.io/firezone/fedora:33 \ - -f pkg/Dockerfile.base.rpm \ - --build-arg BASE_IMAGE="fedora:33" \ - --progress plain \ - . +.ci/build_fedora_33.base.sh docker push ghcr.io/firezone/fedora:33 - -docker build \ - -t ghcr.io/firezone/fedora:34 \ - -f pkg/Dockerfile.base.rpm \ - --build-arg BASE_IMAGE="fedora:34" \ - --progress plain \ - . +.ci/build_fedora_34.base.sh docker push ghcr.io/firezone/fedora:34 - -docker build \ - -t ghcr.io/firezone/fedora:35 \ - -f pkg/Dockerfile.base.rpm \ - --build-arg BASE_IMAGE="fedora:35" \ - --progress plain \ - . +.ci/build_fedora_35.base.sh docker push ghcr.io/firezone/fedora:35 - -docker build \ - -t ghcr.io/firezone/debian:10 \ - -f pkg/Dockerfile.base.deb \ - --build-arg BASE_IMAGE="debian:10" \ - --progress plain \ - . +.ci/build_debian_10.base.sh docker push ghcr.io/firezone/debian:10 - -docker build \ - -t ghcr.io/firezone/ubuntu:18.04 \ - -f pkg/Dockerfile.base.deb \ - --build-arg BASE_IMAGE="ubuntu:18.04" \ - --progress plain \ - . +.ci/build_ubuntu_18.04.base.sh docker push ghcr.io/firezone/ubuntu:18.04 - -docker build \ - -t ghcr.io/firezone/ubuntu:20.04 \ - -f pkg/Dockerfile.base.deb \ - --build-arg BASE_IMAGE="ubuntu:20.04" \ - --progress plain \ - . +.ci/build_ubuntu_20.04.base.sh docker push ghcr.io/firezone/ubuntu:20.04