22301080 | 2ce82b5 | 2025-05-27 17:35:04 +0800 | [diff] [blame^] | 1 | pipeline { |
| 2 | agent any |
| 3 | environment { |
| 4 | SERVER_IP = '192.168.5.13' // 目标服务器IP |
| 5 | USERNAME = 'p4user' // 服务器用户名 |
| 6 | DEPLOY_DIR = '/team2' // 远程部署路径 |
| 7 | } |
| 8 | stages { |
| 9 | stage('pull') { |
| 10 | steps { |
| 11 | git branch: 'master', url: 'ssh://jenkins@gerrit.lilingkun.com:29418/G2-ptPlatform-backend' |
| 12 | echo '拉取成功' |
| 13 | } |
| 14 | } |
| 15 | |
| 16 | stage('build') { |
| 17 | steps { |
| 18 | sh "mvn --version" |
| 19 | // 合并构建步骤,避免多次切换目录 |
| 20 | sh """ |
| 21 | cd ttorrent-master && mvn clean install -DskipTests |
| 22 | cd .. && mvn clean package |
| 23 | """ |
| 24 | echo '构建完成' |
| 25 | } |
| 26 | } |
| 27 | |
| 28 | stage('Deploy') { |
| 29 | steps { |
| 30 | script { |
| 31 | // 使用 SCP 命令将文件复制到目标服务器 |
| 32 | sh """ |
| 33 | scp -r ./build/* ${USERNAME}@${SERVER_IP}:${DEPLOY_DIR} |
| 34 | """ |
| 35 | } |
| 36 | } |
| 37 | } |
| 38 | |
| 39 | stage('Run Docker') { |
| 40 | steps { |
| 41 | script { |
| 42 | // 使用 Docker 在目标服务器上运行容器 |
| 43 | sshagent(['your-ssh-credential-id']) { |
| 44 | sh """ |
| 45 | ssh ${USERNAME}@${SERVER_IP} 'docker run -d --name my-app-container ${DEPLOY_DIR}/my-app-image' |
| 46 | """ |
| 47 | } |
| 48 | } |
| 49 | } |
| 50 | } |
| 51 | } |
| 52 | } |