| pipeline { |
| agent any |
| environment { |
| SERVER_IP = '192.168.5.13' // 目标服务器IP |
| USERNAME = 'p4user' // 服务器用户名 |
| DEPLOY_DIR = '/team2' // 远程部署路径 |
| } |
| stages { |
| stage('pull') { |
| steps { |
| git branch: 'master', url: 'ssh://jenkins@gerrit.lilingkun.com:29418/G2-ptPlatform-backend' |
| echo '拉取成功' |
| } |
| } |
| |
| stage('build') { |
| steps { |
| sh "mvn --version" |
| // 合并构建步骤,避免多次切换目录 |
| sh """ |
| cd ttorrent-master && mvn clean install -DskipTests |
| cd .. && mvn clean package |
| """ |
| echo '构建完成' |
| } |
| } |
| |
| stage('Deploy') { |
| steps { |
| script { |
| // 使用 SCP 命令将文件复制到目标服务器 |
| sh """ |
| scp -r ./build/* ${USERNAME}@${SERVER_IP}:${DEPLOY_DIR} |
| """ |
| } |
| } |
| } |
| |
| stage('Run Docker') { |
| steps { |
| script { |
| // 使用 Docker 在目标服务器上运行容器 |
| sshagent(['your-ssh-credential-id']) { |
| sh """ |
| ssh ${USERNAME}@${SERVER_IP} 'docker run -d --name my-app-container ${DEPLOY_DIR}/my-app-image' |
| """ |
| } |
| } |
| } |
| } |
| } |
| } |