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' | |
""" | |
} | |
} | |
} | |
} | |
} | |
} |