在 Linux 上使用 Jenkins 构建项目的实操指南
一 环境准备与安装
sudo apt update
sudo apt install -y openjdk-11-jdk
java -version
sudo yum install -y java-11-openjdk-devel
java -version
curl -fsSL https://pkg.jenkins.io/debian/jenkins.io.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null
echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt update
sudo apt install -y jenkins
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo yum install -y jenkins
sudo systemctl start jenkins
sudo systemctl enable jenkins
sudo systemctl status jenkins
sudo ufw allow 8080/tcp
sudo ufw enable
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
sudo cat /var/lib/jenkins/secrets/initialAdminPassword二 基础配置
三 创建任务与构建 Java Maven 项目
cd $WORKSPACE
mvn -B clean package
四 使用 Pipeline 定义多阶段流程
pipeline {
agent any
tools {
maven 'Maven 3.6.3' // 需在全局工具中预先配置
jdk 'JDK 11'
}
environment {
MAVEN_OPTS = "-Dmaven.repo.local=${env.WORKSPACE}/.m2"
}
stages {
stage('Checkout') {
steps { git branch: 'main', url: 'https://github.com/your/repo.git' }
}
stage('Build') {
steps { sh 'mvn -B clean package' }
}
stage('Test') {
steps { sh 'mvn test' }
}
stage('Archive') {
steps { archiveArtifacts 'target/*.jar' }
}
stage('Deploy') {
when { branch 'develop' }
steps {
sshagent(['staging-key']) {
sh 'scp target/*.jar user@staging:/opt/app'
}
}
}
}
post {
always { cleanWs() }
success { emailext body: 'Build succeeded: ${BUILD_URL}', subject: 'Jenkins Build Success', to: 'team@example.com' }
failure { emailext body: 'Build failed: ${BUILD_URL}', subject: 'Jenkins Build Failed', to: 'team@example.com' }
}
}
五 常见问题与优化
sudo journalctl -u jenkins -f