43 lines
890 B
Bash
Executable File
43 lines
890 B
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
|
|
|
|
# Your deployment commands go here
|
|
|
|
log "Deployment completed successfully."
|
|
}
|
|
|
|
# Execute main function
|
|
main "$@" |