37 lines
1.1 KiB
Bash
37 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. |