Files
timelapse-backend/deploy.sh

49 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# Set strict error handling
set -e # Exit immediately if a command exits with a non-zero status
set -u # Treat unset variables as an error
# Script variables
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Function for logging
log() {
local timestamp=$(date +"%Y-%m-%d %H:%M:%S")
echo "[$timestamp] $1"
}
# Function for cleanup on exit
cleanup() {
log "Cleaning up..."
# Add cleanup tasks here
}
# Register the cleanup function to be called on exit
trap cleanup EXIT
# Main function
main() {
log "Starting deployment..."
# Git pull force
log "Pulling latest changes from the repository..."
git pull origin main --force
if [ $? -ne 0 ]; then
log "Failed to pull latest changes."
exit 1
fi
# Lancer le docker
log "Building and starting Docker containers..."
docker-compose -f "$SCRIPT_DIR/docker-compose.yml" up -d --build
if [ $? -ne 0 ]; then
log "Failed to start Docker containers."
exit 1
fi
log "Docker containers started successfully."
log "Deployment completed successfully."
}
# Execute main function
main "$@"