From 02448d765eb62330425a8b44201feba147b20890 Mon Sep 17 00:00:00 2001 From: ALEX <2604434353@qq.com> Date: Thu, 17 Jul 2025 02:48:45 +0000 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20Jenkinsfile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 56 +++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 44 insertions(+), 12 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 73f9d1f..0bcb3aa 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -8,23 +8,55 @@ pipeline { } stages { - stage('Remote Pull and Build') { + stage('Pull Code') { steps { sshagent([env.SSH_CREDENTIALS_ID]) { sh """ - ssh ${REMOTE_USER}@${REMOTE_HOST} ' - set -e - cd ${REMOTE_DIR} || git clone git@117.72.202.202:ALEX/alex-api.git ${REMOTE_DIR} - cd ${REMOTE_DIR} - git pull origin master - mvn clean package -DskipTests - sudo docker compose down - sudo docker image prune -f - sudo docker compose up -d --build - ' + ssh ${REMOTE_USER}@${REMOTE_HOST} ' + set -e + cd ${REMOTE_DIR} || git clone git@117.72.202.202:ALEX/alex-api.git ${REMOTE_DIR} + cd ${REMOTE_DIR} + git pull origin master + ' + """ + } + } + } + + stage('Pre Steps') { + steps { + sshagent([env.SSH_CREDENTIALS_ID]) { + sh "ssh ${REMOTE_USER}@${REMOTE_HOST} 'bash ${REMOTE_DIR}/bin/pre-steps.sh'" + } + } + } + + stage('Build') { + steps { + sshagent([env.SSH_CREDENTIALS_ID]) { + sh """ + ssh ${REMOTE_USER}@${REMOTE_HOST} ' + cd ${REMOTE_DIR} + mvn clean package -DskipTests + ' + """ + } + } + } + + stage('Deploy') { + steps { + sshagent([env.SSH_CREDENTIALS_ID]) { + sh """ + ssh ${REMOTE_USER}@${REMOTE_HOST} ' + cd ${REMOTE_DIR} + sudo docker compose down + sudo docker image prune -f + sudo docker compose up -d --build + ' """ } } } } -} +} \ No newline at end of file