Files
online-energieausweis/build.sh
2023-05-18 14:03:38 +04:00

38 lines
1.1 KiB
Bash

#!/bin/bash
# Define your environment variables here
APP_NAME="online-energiausweis"
APP_PORT=3000
DB_CONTAINER_NAME="database"
DB_NAME="main"
DB_USER="main"
DB_PASSWORD="hHMP8cd^N3SnzGRR"
DB_PORT=5432
DB_VOLUME="postgres_data"
git_pull_force() {
git reset --hard HEAD
git clean -f -d
git pull origin main
}
# Zuerst müssen wir neue Änderungen von GitHub pullen.
cd ~/apps/$APP_NAME
git_pull_force;
# Dann bauen wir das Docker Image unserer Application
cd ~/apps/$APP_NAME
docker stop $APP_NAME
docker rm $APP_NAME
docker build -t $APP_NAME .
# Danach machen wir ein Backup der Datenbank, falls bei der Migration etwas schiefgehen sollte.
cd ~/backups/
BACKUP_FILENAME="$(date +"%Y-%m-%d_%H-%M-%S").sql.gz"
docker exec -t $DB_CONTAINER_NAME pg_dumpall -c -U $DB_USER | gzip > $BACKUP_FILENAME
# Und starten unsere App wieder.
docker run -d --name $APP_NAME --link $DB_CONTAINER_NAME -p "$APP_PORT:80" -e DB_CONNECTION=postgresql://$DB_USER:$DB_PASSWORD@${DB_CONTAINER_NAME}:$DB_PORT/$DB_NAME -e DB_PORT=$DB_PORT $APP_NAME
# Das Backup lassen wir da, falls irgendwas schief gehen sollte.