pipeline { agent any environment { DEPLOY_DIR = '/var/www/portfolio' } stages { stage('Checkout') { steps { checkout scm } } stage('Install') { steps { sh 'npm install' } } stage('Build') { steps { sh 'npm run build' } } stage('Deploy') { steps { sh ''' cp -r .next /var/www/portfolio/ cp -r public /var/www/portfolio/ 2>/dev/null || true cp package.json /var/www/portfolio/ cp -r node_modules /var/www/portfolio/ ''' sh ''' ssh -o StrictHostKeyChecking=no root@172.17.0.1 "cd /var/www/portfolio && pm2 delete portfolio || true && pm2 start npm --name portfolio -- start -- -p 3333 && pm2 save" ''' } } } post { success { echo '✅ Portfolio deployed!' } failure { echo '❌ Deploy fehlgeschlagen!' } } }