在 Linux 上搭建 Java 项目的持续集成
一 环境准备
二 安装与初始化 Jenkins
三 创建任务与流水线
四 示例 Jenkinsfile
pipeline {
agent any
tools { maven 'Maven-3' } // 在 Global Tool Configuration 中定义的 Maven 名称
stages {
stage('Checkout') {
steps { git branch: 'main', url: 'https://github.com/your-org/your-java-project.git' }
}
stage('Build') {
steps { sh 'mvn clean package -DskipTests' }
}
stage('Test') {
steps { sh 'mvn test' }
}
stage('Deploy') {
steps {
sshPublisher(
publishers: [
sshPublisherDesc(
configName: 'test-server',
transfers: [
sshTransfer(
sourceFiles: 'target/*.jar',
removePrefix: 'target',
remoteDirectory: '/opt/app',
execCommand: 'nohup java -jar /opt/app/app.jar > /opt/app/app.log 2>&1 &'
)
]
)
]
)
}
}
}
post {
always { junit 'target/surefire-reports/*.xml' } // 收集测试报告
success { echo 'Build and deploy SUCCESS' }
failure { echo 'Build FAILED' }
}
}
说明:需在 Jenkins 中预先配置名为 test-server 的 SSH 服务器(IP、用户、私钥)。五 触发与优化