Files
signalscout-backend/Jenkinsfile
T

29 lines
1017 B
Groovy

pipeline {
agent any
environment {
REMOTE_HOST = credentials('agent-desk-ssh-host')
REMOTE_USER = credentials('agent-desk-ssh-user')
SSH_CREDENTIALS_ID = 'agent-desk-server-ssh'
REPO_URL = 'http://gitadmin:12345678911@gitea:3000/gitadmin/signalscout-backend.git'
PUBLIC_READY_URL = 'https://signalscout.jaycode.online/health'
}
stages {
stage('Deploy from Gitea') {
steps {
withCredentials([sshUserPrivateKey(credentialsId: "${SSH_CREDENTIALS_ID}", keyFileVariable: 'SSH_KEY')]) {
// Jenkins只负责触发服务器部署;依赖安装、迁移、测试和服务重启都由目标服务器脚本统一完成。
sh '''
chmod 600 "${SSH_KEY}"
ssh -o StrictHostKeyChecking=no "${REMOTE_USER}@${REMOTE_HOST}" \
-i "${SSH_KEY}" \
"REPO_URL='${REPO_URL}' PUBLIC_READY_URL='${PUBLIC_READY_URL}' bash -s" \
< deployment/jenkins/deploy_backend.sh
'''
}
}
}
}
}