생성된 파이프라인 설정에 접속

Definition을 Pipeline Script 로 선택한 후
파이프라인 스크립트 입력
pipeline {
agent any
tools {
jdk 'openjdk-17'
}
environment {
ADMIN_EMAILS= credentials('ADMIN_EMAILS')
MYSQL_PASSWORD = credentials('MYSQL_PASSWORD')
GMAIL_USERNAME = credentials('GMAIL_USERNAME')
GMAIL_PASSWORD = credentials('GMAIL_PASSWORD')
JWT_KEY = credentials('JWT_KEY')
RECAPTCHA_SECRET_KEY = credentials('RECAPTCHA_SECRET_KEY')
}
stages {
stage('Checkout') {
steps {
git branch: 'master',
url: '<https://github.com/excuse-dict/excuse-dict-backend.git>'
}
}
stage('Build') {
steps {
sh 'chmod +x ./gradlew'
sh './gradlew clean build -x test --parallel'
}
}
stage('Deploy') {
steps {
sh '''
docker stop excuse-dict || true
docker rm excuse-dict || true
docker build -t excuse-dict:latest .
docker run -d --name excuse-dict \\
--network host \\
-e MYSQL_PASSWORD="$MYSQL_PASSWORD" \\
-e GMAIL_USERNAME="$GMAIL_USERNAME" \\
-e GMAIL_PASSWORD="$GMAIL_PASSWORD" \\
-e JWT_KEY="$JWT_KEY" \\
-e RECAPTCHA_SECRET_KEY="$RECAPTCHA_SECRET_KEY" \\
-e ADMIN_EMAILS="$ADMIN_EMAILS" \\
excuse-dict:latest
docker ps | grep excuse-dict
'''
}
}
}
post {
failure {
sh '''
echo "=== Build/Deploy Failed ==="
if [ -f /tmp/app.log ]; then
echo "=== Application Logs ==="
tail -20 /tmp/app.log
fi
'''
}
}
}