ubuntu

Ubuntu上Jenkins部署流程怎样

小樊
42
2025-09-16 16:54:43
栏目: 智能运维

Ubuntu上Jenkins部署流程

1. 环境准备

1.1 更新系统

在安装前,确保系统包列表及已安装软件为最新版本,避免依赖冲突:

sudo apt update && sudo apt upgrade -y

1.2 安装Java环境

Jenkins基于Java开发,需提前安装Java运行环境(推荐Java 11及以上版本)。以OpenJDK为例:

sudo apt install openjdk-11-jdk -y
# 验证Java安装是否成功
java -version

输出应包含openjdk version "11.x.x"字样,确认Java环境可用。

1.3 添加Jenkins官方软件源

为确保安装最新稳定版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

2. 安装Jenkins

通过APT包管理器安装Jenkins:

sudo apt install jenkins -y

安装完成后,Jenkins服务会自动启动。

3. 启动与配置Jenkins服务

3.1 启动Jenkins服务

sudo systemctl start jenkins

3.2 设置开机自启

确保服务器重启后Jenkins自动启动:

sudo systemctl enable jenkins

3.3 检查服务状态

验证Jenkins是否正常运行:

sudo systemctl status jenkins

若输出显示active (running),则表示服务已启动成功。

4. 访问Jenkins Web界面

4.1 获取初始管理员密码

首次访问需输入管理员密码,该密码存储在Jenkins数据目录中:

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

复制输出的密码备用。

4.2 打开Web界面

在浏览器中输入服务器IP或域名及默认端口8080(如http://your_server_ip:8080),粘贴初始密码完成解锁。

4.3 完成初始配置

5. 基础配置(可选但推荐)

5.1 安装常用插件

进入Manage Jenkins > Manage Plugins,通过“Available”标签搜索并安装以下插件:

5.2 配置全局工具

进入Manage Jenkins > Global Tool Configuration,设置工具路径(如JDK、Maven、Git):

5.3 配置安全性

进入Manage Jenkins > Configure Global Security,启用安全功能:

5.4 配置防火墙

若服务器启用了ufw防火墙,需开放Jenkins默认端口8080

sudo ufw allow 8080
sudo ufw reload

6. 创建第一个Jenkins任务(实战示例)

6.1 新建任务

进入Jenkins首页,点击“新建任务”,输入任务名称(如spring-boot-demo),选择“Pipeline”,点击“确定”。

6.2 配置任务

6.3 编写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!'
        }
    }
}

6.4 触发构建

点击“立即构建”,Jenkins会自动拉取代码、执行构建步骤,并在“构建历史”中查看结果。若配置了Webhook,代码推送后会自动触发构建。

0
看了该问题的人还看了