|
@@ -47,6 +47,9 @@ pipeline {
|
|
|
sh 'composer --version || echo "Composer not available locally"'
|
|
sh 'composer --version || echo "Composer not available locally"'
|
|
|
sh 'node --version || echo "Node not available locally"'
|
|
sh 'node --version || echo "Node not available locally"'
|
|
|
sh 'npm --version || echo "NPM not available locally"'
|
|
sh 'npm --version || echo "NPM not available locally"'
|
|
|
|
|
+
|
|
|
|
|
+ // Check for rsync
|
|
|
|
|
+ sh 'rsync --version || echo "rsync not available, please install it on Jenkins server"'
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -90,8 +93,19 @@ pipeline {
|
|
|
# Create remote directory
|
|
# Create remote directory
|
|
|
ssh -o StrictHostKeyChecking=no ${REMOTE_USER}@${REMOTE_HOST} "mkdir -p ${REMOTE_DIR}"
|
|
ssh -o StrictHostKeyChecking=no ${REMOTE_USER}@${REMOTE_HOST} "mkdir -p ${REMOTE_DIR}"
|
|
|
|
|
|
|
|
- # Sync files excluding unnecessary ones
|
|
|
|
|
- rsync -avz -e "ssh -o StrictHostKeyChecking=no" --exclude '.git' --exclude 'node_modules' --exclude 'vendor' ./ ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_DIR}/
|
|
|
|
|
|
|
+ # Since rsync isn't available, use scp to copy files
|
|
|
|
|
+ # First, create a tar archive
|
|
|
|
|
+ tar --exclude='.git' --exclude='node_modules' --exclude='vendor' -czf /tmp/deployment.tar.gz .
|
|
|
|
|
+
|
|
|
|
|
+ # Copy the archive to the remote server
|
|
|
|
|
+ scp -o StrictHostKeyChecking=no /tmp/deployment.tar.gz ${REMOTE_USER}@${REMOTE_HOST}:/tmp/
|
|
|
|
|
+
|
|
|
|
|
+ # Extract the archive on the remote server
|
|
|
|
|
+ ssh -o StrictHostKeyChecking=no ${REMOTE_USER}@${REMOTE_HOST} "tar -xzf /tmp/deployment.tar.gz -C ${REMOTE_DIR}/"
|
|
|
|
|
+
|
|
|
|
|
+ # Clean up
|
|
|
|
|
+ rm -f /tmp/deployment.tar.gz
|
|
|
|
|
+ ssh -o StrictHostKeyChecking=no ${REMOTE_USER}@${REMOTE_HOST} "rm -f /tmp/deployment.tar.gz"
|
|
|
|
|
|
|
|
# Run composer install
|
|
# Run composer install
|
|
|
ssh -o StrictHostKeyChecking=no ${REMOTE_USER}@${REMOTE_HOST} "cd ${REMOTE_DIR} && composer install --no-interaction --no-dev --prefer-dist"
|
|
ssh -o StrictHostKeyChecking=no ${REMOTE_USER}@${REMOTE_HOST} "cd ${REMOTE_DIR} && composer install --no-interaction --no-dev --prefer-dist"
|