29 lines
1.0 KiB
Groovy
29 lines
1.0 KiB
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 = 'https://gitadmin:12345678911@gitea.jaycode.online/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
|
|
'''
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|