Ajout du script de déploiement avec gestion des erreurs et journalisation
All checks were successful
SSH Hello / ssh-hello (push) Successful in 2s
All checks were successful
SSH Hello / ssh-hello (push) Successful in 2s
This commit is contained in:
52
deploy.sh
Executable file
52
deploy.sh
Executable file
@@ -0,0 +1,52 @@
|
|||||||
|
#!/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
|
||||||
|
|
||||||
|
|
||||||
|
log "Cleanup completed - Deployment Completed."
|
||||||
|
}
|
||||||
|
|
||||||
|
# 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 "$@"
|
||||||
Reference in New Issue
Block a user