在Linux系统上实现Jenkins持续集成前,需先安装Java(JDK 11及以上,推荐LTS版本)——Jenkins依赖Java运行。以Ubuntu/Debian为例,安装命令如下:
sudo apt update && sudo apt install -y openjdk-11-jdk
验证Java安装:
java -version # 确认输出包含Java版本信息
若使用CentOS/RHEL,可通过yum安装:
sudo yum install -y java-11-openjdk-devel
此外,根据项目需求安装额外工具(如Maven/Gradle用于Java项目构建、Git用于代码管理)。
通过包管理器(推荐,简单快捷)或Docker(容器化部署,便于管理)安装Jenkins:
wget -q -O - https://pkg.jenkins.io/debian-stable/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-stable 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
docker-compose快速部署(需提前安装Docker):mkdir -p /opt/docker_jenkins/data
cat <<EOF > /opt/docker_jenkins/docker-compose.yml
version: '3'
services:
jenkins:
image: jenkins/jenkins:lts
container_name: jenkins_container
ports:
- "8080:8080"
- "50000:50000"
volumes:
- ./data:/var/jenkins_home
EOF
cd /opt/docker_jenkins && docker-compose up -d
启动Jenkins服务并设置开机自启:
sudo systemctl start jenkins && sudo systemctl enable jenkins
访问http://<服务器IP>:8080,输入初始管理员密码(位于/var/lib/jenkins/secrets/initialAdminPassword)完成初始化。
安装必要插件:
进入“Manage Jenkins” > “Manage Plugins”,安装以下核心插件:
配置全局工具:
进入“Manage Jenkins” > “Global Tool Configuration”,设置工具路径(如JDK、Maven):
/usr/lib/jvm/java-11-openjdk-amd64);/usr/local/apache-maven-3.9.6)。配置系统参数:
进入“Manage Jenkins” > “Configure System”,修改Jenkins端口(默认8080,若冲突可修改/etc/sysconfig/jenkins(CentOS)或/etc/default/jenkins(Ubuntu)中的HTTP_PORT)、管理员邮箱等。
新建任务:
进入Jenkins首页,点击“New Item”,输入任务名称(如“my-java-project-ci”),选择“Freestyle project”(适合简单项目)或“Pipeline”(适合复杂流程),点击“OK”。
配置源码管理:
在“Source Code Management”部分,选择“Git”,输入代码仓库URL(如https://github.com/your-repo/my-java-project.git),若有私有仓库,需添加凭证(点击“Add” > “Jenkins”)。
配置构建触发器:
在“Build Triggers”部分,选择触发方式:
H/5 * * * *表示每5分钟检查一次);http://<服务器IP>:8080/github-webhook/)。配置构建步骤:
在“Build”部分,添加构建步骤:
clean install);make或gradle build)。配置构建后操作:
在“Post-build Actions”部分,添加后续操作:
**/target/*.jar);**/target/surefire-reports/*.xml);dev-team@example.com)。Pipeline脚本通过代码定义CI流程,支持版本控制(如将脚本存于项目仓库)。
Jenkinsfile,内容示例如下(Java项目):pipeline {
agent any // 使用任意可用节点
tools {
maven 'maven-3.9.6' // 引用全局工具配置中的Maven
jdk 'jdk11' // 引用全局工具配置中的JDK
}
stages {
stage('Checkout') {
steps {
git branch: 'main', url: 'https://github.com/your-repo/my-java-project.git'
}
}
stage('Build') {
steps {
sh 'mvn clean install'
}
}
stage('Test') {
steps {
sh 'mvn test'
}
post {
always {
junit '**/target/surefire-reports/*.xml' // 归档测试报告
}
}
}
stage('Deploy') {
when {
branch 'master' // 仅master分支触发部署
}
steps {
sh 'mvn deploy' // 部署到仓库或服务器
}
}
}
post {
success {
echo 'Build and deployment succeeded!'
}
failure {
echo 'Build or deployment failed!'
}
}
}
Jenkinsfile路径(默认为Jenkinsfile),点击“Save”。/etc/sysconfig/jenkins(CentOS)或/etc/default/jenkins(Ubuntu),修改HTTP_PORT后重启服务。https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json。