From 4ea6c4ad5d1cac14d63f758f8fa6909b77a0b758 Mon Sep 17 00:00:00 2001 From: Felix Ableitner Date: Fri, 12 Jun 2020 15:29:50 +0200 Subject: Various build optimizations --- docker/prod/deploy.sh | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100755 docker/prod/deploy.sh (limited to 'docker/prod/deploy.sh') diff --git a/docker/prod/deploy.sh b/docker/prod/deploy.sh new file mode 100755 index 00000000..0ad47bcd --- /dev/null +++ b/docker/prod/deploy.sh @@ -0,0 +1,80 @@ +#!/bin/sh +set -e +git checkout master + +# Import translations +git fetch weblate +git merge weblate/master + +# Creating the new tag +new_tag="$1" +third_semver=$(echo $new_tag | cut -d "." -f 3) + +# Setting the version on the front end +cd ../../ +echo "export const version: string = '$new_tag';" > "ui/src/version.ts" +git add "ui/src/version.ts" +# Setting the version on the backend +echo "pub const VERSION: &str = \"$new_tag\";" > "server/src/version.rs" +git add "server/src/version.rs" +# Setting the version for Ansible +echo $new_tag > "ansible/VERSION" +git add "ansible/VERSION" + +cd docker/prod || exit + +# Changing the docker-compose prod +sed -i "s/dessalines\/lemmy:.*/dessalines\/lemmy:$new_tag/" ../prod/docker-compose.yml +sed -i "s/dessalines\/lemmy:.*/dessalines\/lemmy:$new_tag/" ../../ansible/templates/docker-compose.yml +git add ../prod/docker-compose.yml +git add ../../ansible/templates/docker-compose.yml + +# The commit +git commit -m"Version $new_tag" +git tag $new_tag + +export COMPOSE_DOCKER_CLI_BUILD=1 +export DOCKER_BUILDKIT=1 + +# Rebuilding docker +docker-compose build +docker tag dev_lemmy:latest dessalines/lemmy:x64-$new_tag +docker push dessalines/lemmy:x64-$new_tag + +# Build for Raspberry Pi / other archs + +# Arm currently not working +# docker build -t lemmy:armv7hf -f Dockerfile.armv7hf ../../ +# docker tag lemmy:armv7hf dessalines/lemmy:armv7hf-$new_tag +# docker push dessalines/lemmy:armv7hf-$new_tag + +# aarch64 +# Only do this on major releases (IE the third semver is 0) +if [ $third_semver -eq 0 ]; then + # Registering qemu binaries + docker run --rm --privileged multiarch/qemu-user-static:register --reset + + docker build -t lemmy:aarch64 -f Dockerfile.aarch64 ../../ + docker tag lemmy:aarch64 dessalines/lemmy:arm64-$new_tag + docker push dessalines/lemmy:arm64-$new_tag +fi + +# Creating the manifest for the multi-arch build +if [ $third_semver -eq 0 ]; then + docker manifest create dessalines/lemmy:$new_tag \ + dessalines/lemmy:x64-$new_tag \ + dessalines/lemmy:arm64-$new_tag +else + docker manifest create dessalines/lemmy:$new_tag \ + dessalines/lemmy:x64-$new_tag +fi + +docker manifest push dessalines/lemmy:$new_tag + +# Push +git push origin $new_tag +git push + +# Pushing to any ansible deploys +cd ../../../lemmy-ansible || exit +ansible-playbook -i prod playbooks/site.yml --vault-password-file vault_pass -- cgit v1.2.3 From 0782377ae368f894bdb48889d4e63b923130a2e9 Mon Sep 17 00:00:00 2001 From: Dessalines Date: Wed, 17 Jun 2020 22:11:48 -0400 Subject: Version v0.6.75 --- docker/prod/deploy.sh | 44 +++++++++++++------------------------------- 1 file changed, 13 insertions(+), 31 deletions(-) (limited to 'docker/prod/deploy.sh') diff --git a/docker/prod/deploy.sh b/docker/prod/deploy.sh index 0ad47bcd..4cd55c26 100755 --- a/docker/prod/deploy.sh +++ b/docker/prod/deploy.sh @@ -1,6 +1,6 @@ #!/bin/sh set -e -git checkout master +# git checkout master # Import translations git fetch weblate @@ -37,40 +37,22 @@ export COMPOSE_DOCKER_CLI_BUILD=1 export DOCKER_BUILDKIT=1 # Rebuilding docker -docker-compose build -docker tag dev_lemmy:latest dessalines/lemmy:x64-$new_tag -docker push dessalines/lemmy:x64-$new_tag - -# Build for Raspberry Pi / other archs - -# Arm currently not working -# docker build -t lemmy:armv7hf -f Dockerfile.armv7hf ../../ -# docker tag lemmy:armv7hf dessalines/lemmy:armv7hf-$new_tag -# docker push dessalines/lemmy:armv7hf-$new_tag - -# aarch64 -# Only do this on major releases (IE the third semver is 0) -if [ $third_semver -eq 0 ]; then - # Registering qemu binaries - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - docker build -t lemmy:aarch64 -f Dockerfile.aarch64 ../../ - docker tag lemmy:aarch64 dessalines/lemmy:arm64-$new_tag - docker push dessalines/lemmy:arm64-$new_tag -fi - -# Creating the manifest for the multi-arch build if [ $third_semver -eq 0 ]; then - docker manifest create dessalines/lemmy:$new_tag \ - dessalines/lemmy:x64-$new_tag \ - dessalines/lemmy:arm64-$new_tag + docker buildx build --platform linux/amd64 ../../ \ + --file Dockerfile \ + --tag dessalines/lemmy:$new_tag \ + --file docker/dev/Dockerfile.m \ + --push . else - docker manifest create dessalines/lemmy:$new_tag \ - dessalines/lemmy:x64-$new_tag + # TODO get linux/arm/v7 build working + # Build for Raspberry Pi / other archs too + docker buildx build --platform linux/amd64,linux/arm64 ../../ \ + --file Dockerfile \ + --tag dessalines/lemmy:$new_tag \ + --file docker/dev/Dockerfile.m \ + --push . fi -docker manifest push dessalines/lemmy:$new_tag - # Push git push origin $new_tag git push -- cgit v1.2.3 From ceb1284f2733a8fc5e089be823bc109034589cfe Mon Sep 17 00:00:00 2001 From: Dessalines Date: Wed, 17 Jun 2020 22:32:18 -0400 Subject: Fixing deploy.sh --- docker/prod/deploy.sh | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'docker/prod/deploy.sh') diff --git a/docker/prod/deploy.sh b/docker/prod/deploy.sh index 4cd55c26..2c6e3d31 100755 --- a/docker/prod/deploy.sh +++ b/docker/prod/deploy.sh @@ -1,6 +1,6 @@ #!/bin/sh set -e -# git checkout master +git checkout master # Import translations git fetch weblate @@ -38,19 +38,17 @@ export DOCKER_BUILDKIT=1 # Rebuilding docker if [ $third_semver -eq 0 ]; then - docker buildx build --platform linux/amd64 ../../ \ - --file Dockerfile \ - --tag dessalines/lemmy:$new_tag \ - --file docker/dev/Dockerfile.m \ - --push . -else # TODO get linux/arm/v7 build working # Build for Raspberry Pi / other archs too docker buildx build --platform linux/amd64,linux/arm64 ../../ \ --file Dockerfile \ --tag dessalines/lemmy:$new_tag \ - --file docker/dev/Dockerfile.m \ - --push . + --push +else + docker buildx build --platform linux/amd64 ../../ \ + --file Dockerfile \ + --tag dessalines/lemmy:$new_tag \ + --push fi # Push -- cgit v1.2.3