一、前置准备:安装Java环境
Jenkins是基于Java的应用程序,需先安装JDK(推荐OpenJDK 8/11)。以CentOS为例,执行以下命令:
sudo yum update -y
sudo yum install -y java-11-openjdk-devel # Ubuntu/Debian用sudo apt install -y openjdk-11-jdk
java -version # 验证安装(需显示Java版本信息)
配置Java环境变量(若未自动配置):
vim /etc/profile
添加以下内容(根据实际JDK路径调整):
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # 替换为实际路径
export PATH=$JAVA_HOME/bin:$PATH
保存后使配置生效:
source /etc/profile
二、安装Jenkins
以CentOS为例,执行以下命令添加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
Ubuntu/Debian用户需先导入GPG密钥并添加仓库:
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
使用包管理器安装Jenkins(CentOS用yum,Ubuntu用apt):
sudo yum install -y jenkins # CentOS
# 或 sudo apt update && sudo apt install -y jenkins # Ubuntu/Debian
启动Jenkins服务并设置开机自启:
sudo systemctl start jenkins
sudo systemctl enable jenkins
验证Jenkins服务状态:
sudo systemctl status jenkins # 应显示“active (running)”
三、配置Jenkins
打开浏览器,访问http://<服务器IP>:8080(若为本地测试,用localhost:8080)。首次访问需输入管理员密码,从以下路径获取:
cat /var/lib/jenkins/secrets/initialAdminPassword
输入密码后,按照提示完成插件安装(推荐选择“安装推荐插件”)和管理员账户创建。
进入Manage Jenkins > Manage Plugins,切换至“Available”标签,搜索并安装以下核心插件:
进入Manage Jenkins > Global Tool Configuration,配置以下工具路径(若未自动检测):
/usr/lib/jvm/java-11-openjdk-amd64);/usr/bin/git);/usr/share/maven,若未安装需先通过yum/apt安装)。四、创建自动化任务
进入Jenkins主页,点击New Item,输入任务名称(如my-app-build),选择任务类型:
Jenkinsfile。选择Git,输入代码仓库URL(如https://github.com/username/repo.git)和分支(如main)。若仓库需要认证,点击“Add”添加Credentials(如SSH密钥或账号密码)。
配置自动触发构建的方式:
H/5 * * * *(每5分钟检查一次代码变更);H/5 * * * *),或配置Git Webhook(需在仓库管理界面设置,指向http://<Jenkins服务器IP>:8080/job/my-app-build/build?token=TOKEN_NAME)。添加构建步骤(根据项目需求选择):
mvn clean package # Maven项目
# 或 ./gradlew build # Gradle项目
clean package)。配置构建成功后的操作:
target/*.jar),便于后续下载;五、高级配置:Pipeline流水线
若需更灵活的自动化流程(如多阶段构建、条件判断),建议使用Pipeline。
新建任务时选择Pipeline类型,配置任务名称后,可选择“Pipeline script”(直接编写脚本)或“Pipeline script from SCM”(从代码仓库读取Jenkinsfile)。
在项目根目录创建Jenkinsfile(以Declarative Pipeline为例),定义构建、测试、部署流程:
pipeline {
agent any // 使用任意可用节点
tools {
maven 'maven-3.8.6' // 引用全局工具配置中的Maven
jdk 'jdk-11' // 引用全局工具配置中的JDK
}
stages {
stage('Checkout') {
steps {
git branch: 'main', url: 'https://github.com/username/repo.git' // 拉取代码
}
}
stage('Build') {
steps {
sh 'mvn clean package' // 编译打包
}
}
stage('Test') {
steps {
sh 'mvn test' // 运行测试
}
post {
always {
junit '**/target/surefire-reports/*.xml' // 发布测试报告
}
}
}
stage('Deploy') {
steps {
sh 'scp target/*.jar user@server:/opt/app/' // 部署到服务器(需配置SSH免密)
sh 'ssh user@server "systemctl restart my-app.service"' # 重启服务
}
}
}
post {
success {
emailext body: 'Build succeeded!', subject: 'Jenkins Build Success', to: 'dev-team@example.com' // 发送成功通知
}
failure {
emailext body: 'Build failed!', subject: 'Jenkins Build Failure', to: 'dev-team@example.com' // 发送失败通知
}
}
}
保存后点击“Build Now”,Jenkins将按照流水线步骤自动执行。
六、常见问题排查
sudo firewall-cmd --add-port=8080/tcp --permanent && sudo firewall-cmd --reload);JAVA_HOME配置正确,且java -version能正确显示版本;.hpi文件后通过Manage Plugins > Advanced上传)。