From 8764cb1a99d79469016230660fd8b7eba1c580cb Mon Sep 17 00:00:00 2001 From: winkidney Date: Wed, 20 Apr 2022 09:44:08 -0700 Subject: [PATCH 1/3] feature: try to add docker build for docker buildx --- Dockerfile.autobuild | 5 ++++- docker/build_docker.sh | 3 ++- docker/build_docker_multiple_platform.sh | 9 +++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100755 docker/build_docker_multiple_platform.sh diff --git a/Dockerfile.autobuild b/Dockerfile.autobuild index 8b5f8fa..f514ce4 100644 --- a/Dockerfile.autobuild +++ b/Dockerfile.autobuild @@ -22,14 +22,17 @@ RUN yarn build # Required for other database options FROM python:3.9.12-slim-buster as base +ARG DEBIAN_FRONTEND=noninteractive RUN apt-get update \ + && if [ $(dpkg --print-architecture) = "arm64" -o $(dpkg --print-architecture) = "armhf" ]; then apt-get -y install apt-utils; fi \ && apt-get -y install gcc default-libmysqlclient-dev RUN pip --no-cache-dir install --user mysqlclient cx-Oracle # Final image FROM python:3.9.12-slim-buster +ARG DEBIAN_FRONTEND=noninteractive WORKDIR pinry RUN mkdir /data && chown -R www-data:www-data /data @@ -48,7 +51,7 @@ RUN apt-get update \ # Install Pillow dependencies && apt-get -y install libopenjp2-7 libjpeg-turbo-progs libjpeg62-turbo-dev libtiff5-dev libxcb1 \ # Needed to compile psycopg2 on arm (fallback for psycopg2-binary) - && if [ $(dpkg --print-architecture) = "arm64" -o $(dpkg --print-architecture) = "armhf" ]; then apt-get -y install libpq-dev gcc; fi \ + && if [ $(dpkg --print-architecture) = "arm64" -o $(dpkg --print-architecture) = "armhf" ]; then apt-get -y install apt-utils libpq-dev gcc; fi \ && rm -rf /var/lib/apt/lists/* \ && apt-get autoclean diff --git a/docker/build_docker.sh b/docker/build_docker.sh index 0a9b6f6..7b3147a 100755 --- a/docker/build_docker.sh +++ b/docker/build_docker.sh @@ -1,4 +1,5 @@ #!/bin/bash script_dir="$( dirname "${0}" )" -sudo docker build -t getpinry/pinry${@} "${script_dir}/../" -f "${script_dir}/../Dockerfile.autobuild" +sudo docker build -t getpinry/pinry${@} "${script_dir}/../" \ + -f "${script_dir}/../Dockerfile.autobuild" diff --git a/docker/build_docker_multiple_platform.sh b/docker/build_docker_multiple_platform.sh new file mode 100755 index 0000000..f04abb7 --- /dev/null +++ b/docker/build_docker_multiple_platform.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +script_dir="$( dirname "${0}" )" + +sudo docker buildx build \ + --push \ + --platform linux/arm/v7,linux/arm64/v8,linux/amd64 \ + -t getpinry/pinry:${@} "${script_dir}/../" \ + -f "${script_dir}/../Dockerfile.autobuild" From d7e8943088e3f53c54a29467fb45dcfff938d51f Mon Sep 17 00:00:00 2001 From: winkidney Date: Thu, 21 Apr 2022 08:12:56 -0700 Subject: [PATCH 2/3] fix: fix bug in image_tag --- docker/build_docker.sh | 11 ++++++++++- docker/build_docker_multiple_platform.sh | 10 +++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/docker/build_docker.sh b/docker/build_docker.sh index 7b3147a..a7eb041 100755 --- a/docker/build_docker.sh +++ b/docker/build_docker.sh @@ -1,5 +1,14 @@ #!/bin/bash script_dir="$( dirname "${0}" )" -sudo docker build -t getpinry/pinry${@} "${script_dir}/../" \ + +IMAGE_TAG="latest" + +# shellcheck disable=SC2199 +if [[ "${@}" != "" ]];then + # shellcheck disable=SC2124 + IMAGE_TAG="${@}" +fi + +sudo docker build -t getpinry/pinry:${IMAGE_TAG} "${script_dir}/../" \ -f "${script_dir}/../Dockerfile.autobuild" diff --git a/docker/build_docker_multiple_platform.sh b/docker/build_docker_multiple_platform.sh index f04abb7..81db3c1 100755 --- a/docker/build_docker_multiple_platform.sh +++ b/docker/build_docker_multiple_platform.sh @@ -2,8 +2,16 @@ script_dir="$( dirname "${0}" )" +IMAGE_TAG="latest" + +# shellcheck disable=SC2199 +if [[ "${@}" != "" ]];then + # shellcheck disable=SC2124 + IMAGE_TAG="${@}" +fi + sudo docker buildx build \ --push \ --platform linux/arm/v7,linux/arm64/v8,linux/amd64 \ - -t getpinry/pinry:${@} "${script_dir}/../" \ + -t getpinry/pinry:${IMAGE_TAG} "${script_dir}/../" \ -f "${script_dir}/../Dockerfile.autobuild" From a8d8cb6eb22bb7ed8e3404d41b1b4a70abfaf78a Mon Sep 17 00:00:00 2001 From: winkidney Date: Thu, 21 Apr 2022 08:18:51 -0700 Subject: [PATCH 3/3] feature: add git tag to docker build --- docker/build_docker.sh | 14 ++++++-------- docker/build_docker_multiple_platform.sh | 17 +++++++++-------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/docker/build_docker.sh b/docker/build_docker.sh index a7eb041..3b4f5d5 100755 --- a/docker/build_docker.sh +++ b/docker/build_docker.sh @@ -2,13 +2,11 @@ script_dir="$( dirname "${0}" )" -IMAGE_TAG="latest" +IMAGE_LATEST_TAG="latest" +IMAGE_VERSION_TAG=`git tag -l --sort=-creatordate | head -n 1 | sed "s/v//g"` -# shellcheck disable=SC2199 -if [[ "${@}" != "" ]];then - # shellcheck disable=SC2124 - IMAGE_TAG="${@}" -fi - -sudo docker build -t getpinry/pinry:${IMAGE_TAG} "${script_dir}/../" \ +sudo docker build -t getpinry/pinry:${IMAGE_LATEST_TAG} "${script_dir}/../" \ + -f "${script_dir}/../Dockerfile.autobuild" + +sudo docker build -t getpinry/pinry:${IMAGE_VERSION_TAG} "${script_dir}/../" \ -f "${script_dir}/../Dockerfile.autobuild" diff --git a/docker/build_docker_multiple_platform.sh b/docker/build_docker_multiple_platform.sh index 81db3c1..f280b1b 100755 --- a/docker/build_docker_multiple_platform.sh +++ b/docker/build_docker_multiple_platform.sh @@ -2,16 +2,17 @@ script_dir="$( dirname "${0}" )" -IMAGE_TAG="latest" - -# shellcheck disable=SC2199 -if [[ "${@}" != "" ]];then - # shellcheck disable=SC2124 - IMAGE_TAG="${@}" -fi +IMAGE_LATEST_TAG="latest" +IMAGE_VERSION_TAG=`git tag -l --sort=-creatordate | head -n 1 | sed "s/v//g"` sudo docker buildx build \ --push \ --platform linux/arm/v7,linux/arm64/v8,linux/amd64 \ - -t getpinry/pinry:${IMAGE_TAG} "${script_dir}/../" \ + -t getpinry/pinry:${IMAGE_LATEST_TAG} "${script_dir}/../" \ + -f "${script_dir}/../Dockerfile.autobuild" + +sudo docker buildx build \ + --push \ + --platform linux/arm/v7,linux/arm64/v8,linux/amd64 \ + -t getpinry/pinry:${IMAGE_VERSION_TAG} "${script_dir}/../" \ -f "${script_dir}/../Dockerfile.autobuild"