You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lemmy/docker/prod/deploy.sh

59 lines
1.5 KiB
Bash

5 years ago
#!/bin/sh
set -e
git checkout main
5 years ago
# Import translations
git fetch weblate
git merge weblate/main
5 years ago
# Creating the new tag
new_tag="$1"
third_semver=$(echo $new_tag | cut -d "." -f 3)
5 years ago
# Setting the version on the front end
cd ../../
5 years ago
# Setting the version on the backend
echo "pub const VERSION: &str = \"$new_tag\";" > "server/src/version.rs"
5 years ago
git add "server/src/version.rs"
# Setting the version for Ansible
echo $new_tag > "ansible/VERSION"
git add "ansible/VERSION"
5 years ago
cd docker/prod || exit
5 years ago
# 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
5 years ago
git add ../prod/docker-compose.yml
git add ../../ansible/templates/docker-compose.yml
5 years ago
# The commit
git commit -m"Version $new_tag"
git tag $new_tag
5 years ago
export COMPOSE_DOCKER_CLI_BUILD=1
export DOCKER_BUILDKIT=1
5 years ago
# Rebuilding docker
if [ $third_semver -eq 0 ]; then
4 years ago
# 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 \
4 years ago
--push
else
docker buildx build --platform linux/amd64 ../../ \
--file Dockerfile \
--tag dessalines/lemmy:$new_tag \
--push
fi
# 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