Ubuntu上Jenkins部署流程
在安装前,确保系统包列表及已安装软件为最新版本,避免依赖冲突:
sudo apt update && sudo apt upgrade -y
Jenkins基于Java开发,需提前安装Java运行环境(推荐Java 11及以上版本)。以OpenJDK为例:
sudo apt install openjdk-11-jdk -y
# 验证Java安装是否成功
java -version
输出应包含openjdk version "11.x.x"字样,确认Java环境可用。
为确保安装最新稳定版Jenkins,需添加Jenkins官方APT源:
# 导入Jenkins GPG密钥(用于验证软件包完整性)
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null
# 添加Jenkins软件源到系统包列表
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
通过APT包管理器安装Jenkins:
sudo apt install jenkins -y
安装完成后,Jenkins服务会自动启动。
sudo systemctl start jenkins
确保服务器重启后Jenkins自动启动:
sudo systemctl enable jenkins
验证Jenkins是否正常运行:
sudo systemctl status jenkins
若输出显示active (running),则表示服务已启动成功。
首次访问需输入管理员密码,该密码存储在Jenkins数据目录中:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
复制输出的密码备用。
在浏览器中输入服务器IP或域名及默认端口8080(如http://your_server_ip:8080),粘贴初始密码完成解锁。
进入Manage Jenkins > Manage Plugins,通过“Available”标签搜索并安装以下插件:
进入Manage Jenkins > Global Tool Configuration,设置工具路径(如JDK、Maven、Git):
settings.xml路径;进入Manage Jenkins > Configure Global Security,启用安全功能:
若服务器启用了ufw防火墙,需开放Jenkins默认端口8080:
sudo ufw allow 8080
sudo ufw reload
进入Jenkins首页,点击“新建任务”,输入任务名称(如spring-boot-demo),选择“Pipeline”,点击“确定”。
https://github.com/yourusername/spring-boot-demo.git);Jenkinsfile路径(如Jenkinsfile,位于仓库根目录)。在项目根目录创建Jenkinsfile,定义流水线流程(以Spring Boot项目为例):
pipeline {
agent any
stages {
stage('Checkout') {
steps {
checkout scm // 拉取代码
}
}
stage('Build') {
steps {
echo 'Building Spring Boot application...'
sh 'mvn clean package -DskipTests' // 使用Maven打包
}
}
stage('Test') {
steps {
echo 'Running unit tests...'
sh 'mvn test' // 运行单元测试
}
}
stage('Deploy') {
steps {
echo 'Stopping old service...'
sh 'systemctl stop spring-boot-demo' // 停止旧服务
echo 'Copying new JAR file...'
sh 'cp target/spring-boot-demo.jar /opt/app/' // 复制新JAR到部署目录
echo 'Starting new service...'
sh 'systemctl start spring-boot-demo' // 启动新服务
}
}
}
post {
success {
echo 'Build and deployment succeeded!'
}
failure {
echo 'Build or deployment failed!'
}
}
}
点击“立即构建”,Jenkins会自动拉取代码、执行构建步骤,并在“构建历史”中查看结果。若配置了Webhook,代码推送后会自动触发构建。