2025-07-15 11:37:42 +08:00
|
|
|
pipeline {
|
|
|
|
agent any
|
|
|
|
environment {
|
|
|
|
SSH_CREDENTIALS_ID = 'alex-ssh-key'
|
|
|
|
REMOTE_HOST = '117.72.202.202'
|
|
|
|
REMOTE_USER = 'alex'
|
|
|
|
REMOTE_DIR = '/home/alex/alex-api'
|
|
|
|
}
|
|
|
|
|
|
|
|
stages {
|
2025-07-15 15:16:40 +08:00
|
|
|
stage('Pre') {
|
|
|
|
steps {
|
|
|
|
sshagent([env.SSH_CREDENTIALS_ID]) {
|
2025-07-17 02:29:56 +00:00
|
|
|
sh 'ssh alex@117.72.202.202 "bash ../bin/pre-steps.sh"'
|
2025-07-15 15:16:40 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2025-07-15 11:37:42 +08:00
|
|
|
stage('Build') {
|
|
|
|
steps {
|
|
|
|
sh 'mvn clean package -DskipTests'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
stage('Deploy') {
|
|
|
|
steps {
|
|
|
|
sshagent([env.SSH_CREDENTIALS_ID]) {
|
|
|
|
sh """
|
|
|
|
scp target/alex-api-0.0.1-SNAPSHOT.jar ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_DIR}/app/
|
|
|
|
ssh ${REMOTE_USER}@${REMOTE_HOST} '
|
|
|
|
cd ${REMOTE_DIR} &&
|
2025-07-15 13:56:08 +08:00
|
|
|
sudo docker compose down &&
|
2025-07-16 16:50:59 +08:00
|
|
|
sudo docker image prune -f &&
|
2025-07-15 13:56:08 +08:00
|
|
|
sudo docker compose up -d --build
|
2025-07-15 11:37:42 +08:00
|
|
|
'
|
|
|
|
"""
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|