|
@@ -26,7 +26,7 @@ pipeline {
|
|
|
STORAGE_PATH = 'app/public/'
|
|
STORAGE_PATH = 'app/public/'
|
|
|
|
|
|
|
|
REMOTE_HOST = '10.2.0.10'
|
|
REMOTE_HOST = '10.2.0.10'
|
|
|
- REMOTE_USER = 'deploy'
|
|
|
|
|
|
|
+ REMOTE_USER = 'fratini' // Changed from 'deploy' to 'fratini'
|
|
|
REMOTE_DIR = '/var/www/html/polizia'
|
|
REMOTE_DIR = '/var/www/html/polizia'
|
|
|
|
|
|
|
|
ADMIN_EMAIL = 'f.fratini@webmagistri.it'
|
|
ADMIN_EMAIL = 'f.fratini@webmagistri.it'
|
|
@@ -63,22 +63,33 @@ pipeline {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- stage('Debug') {
|
|
|
|
|
|
|
+ stage('Debug Branch Info') {
|
|
|
steps {
|
|
steps {
|
|
|
- sh 'git branch --show-current || git rev-parse --abbrev-ref HEAD || echo "Cannot determine branch"'
|
|
|
|
|
|
|
+ sh 'git branch -v'
|
|
|
|
|
+ sh 'git status'
|
|
|
|
|
+ sh 'echo "BRANCH_NAME: ${BRANCH_NAME:-not set}"'
|
|
|
|
|
+ sh 'echo "GIT_BRANCH: ${GIT_BRANCH:-not set}"'
|
|
|
|
|
+ sh 'git rev-parse --abbrev-ref HEAD || echo "Cannot get branch name"'
|
|
|
|
|
+ script {
|
|
|
|
|
+ // Store the branch info for later use
|
|
|
|
|
+ env.CURRENT_BRANCH = sh(script: 'git rev-parse --abbrev-ref HEAD || echo "HEAD"', returnStdout: true).trim()
|
|
|
|
|
+ echo "Current branch detected as: ${env.CURRENT_BRANCH}"
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
stage('Deploy to Server') {
|
|
stage('Deploy to Server') {
|
|
|
when {
|
|
when {
|
|
|
expression {
|
|
expression {
|
|
|
- def branch = sh(script: 'git rev-parse --abbrev-ref HEAD || echo unknown', returnStdout: true).trim()
|
|
|
|
|
- return branch == 'develop' || branch.contains('develop')
|
|
|
|
|
|
|
+ // Always deploy from develop branch
|
|
|
|
|
+ return env.CURRENT_BRANCH == 'HEAD' || env.CURRENT_BRANCH == 'develop' ||
|
|
|
|
|
+ env.GIT_BRANCH == 'origin/develop' || env.BRANCH_NAME == 'develop'
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
steps {
|
|
steps {
|
|
|
|
|
+ echo "Starting deployment to ${REMOTE_HOST} as user ${REMOTE_USER}"
|
|
|
|
|
+
|
|
|
// Using SSH with identity file from Jenkins home directory
|
|
// Using SSH with identity file from Jenkins home directory
|
|
|
- // Make sure to place the SSH key at /var/lib/jenkins/.ssh/id_rsa
|
|
|
|
|
sh '''
|
|
sh '''
|
|
|
# Ensure SSH directory exists
|
|
# Ensure SSH directory exists
|
|
|
mkdir -p ~/.ssh
|
|
mkdir -p ~/.ssh
|
|
@@ -106,7 +117,7 @@ pipeline {
|
|
|
php artisan optimize && \\
|
|
php artisan optimize && \\
|
|
|
php artisan storage:link && \\
|
|
php artisan storage:link && \\
|
|
|
chmod -R 775 storage bootstrap/cache && \\
|
|
chmod -R 775 storage bootstrap/cache && \\
|
|
|
- chown -R www-data:www-data ."
|
|
|
|
|
|
|
+ sudo chown -R www-data:www-data ."
|
|
|
|
|
|
|
|
# Restart services
|
|
# Restart services
|
|
|
ssh ${REMOTE_USER}@${REMOTE_HOST} "sudo systemctl restart php8.1-fpm || sudo systemctl restart php-fpm || echo 'PHP service restart failed, may need manual intervention'"
|
|
ssh ${REMOTE_USER}@${REMOTE_HOST} "sudo systemctl restart php8.1-fpm || sudo systemctl restart php-fpm || echo 'PHP service restart failed, may need manual intervention'"
|