跳转到内容

Jenkins安装和配置

课程介绍

Jenkins是最流行的开源CI/CD工具之一,提供了强大的自动化构建、测试和部署功能。本课程将带你学习Jenkins的安装、配置、插件管理、任务创建等核心功能,帮助你快速搭建CI/CD平台。

1. Jenkins概述

1.1 什么是Jenkins

Jenkins是一个开源的自动化服务器,用于自动化构建、测试和部署。

Jenkins的特点

  • 开源免费:完全开源,免费使用
  • 插件丰富:有1000+插件
  • 易于扩展:易于扩展和定制
  • 社区活跃:社区活跃,文档丰富
  • 跨平台:支持Windows、Linux、macOS

1.2 Jenkins的架构

Jenkins采用主从架构。

Jenkins架构

Jenkins Master(主节点)

Jenkins Slave(从节点)

构建任务

构建结果

Jenkins Master

  • 调度构建任务
  • 管理构建环境
  • 存储构建历史
  • 管理插件和配置

Jenkins Slave

  • 执行构建任务
  • 提供构建环境
  • 返回构建结果

2. Jenkins安装

2.1 系统要求

Jenkins对系统有一定要求。

要求说明
操作系统Linux、Windows、macOS
JavaJDK 8或JDK 11
内存至少2GB
磁盘至少10GB
浏览器Chrome、Firefox、Edge

2.2 在Ubuntu上安装Jenkins

在Ubuntu上安装Jenkins的步骤。

步骤1:安装Java

bash
# 更新软件包
sudo apt update

# 安装Java
sudo apt install openjdk-11-jdk -y

# 验证Java安装
java -version

步骤2:添加Jenkins仓库

bash
# 添加Jenkins仓库密钥
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -

# 添加Jenkins仓库
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'

# 更新软件包
sudo apt update

步骤3:安装Jenkins

bash
# 安装Jenkins
sudo apt install jenkins -y

# 启动Jenkins
sudo systemctl start jenkins

# 设置Jenkins开机自启
sudo systemctl enable jenkins

# 查看Jenkins状态
sudo systemctl status jenkins

步骤4:访问Jenkins

打开浏览器,访问:http://localhost:8080

2.3 在CentOS上安装Jenkins

在CentOS上安装Jenkins的步骤。

步骤1:安装Java

bash
# 更新软件包
sudo yum update -y

# 安装Java
sudo yum install java-11-openjdk -y

# 验证Java安装
java -version

步骤2:添加Jenkins仓库

bash
# 添加Jenkins仓库
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

# 导入Jenkins仓库密钥
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

步骤3:安装Jenkins

bash
# 安装Jenkins
sudo yum install jenkins -y

# 启动Jenkins
sudo systemctl start jenkins

# 设置Jenkins开机自启
sudo systemctl enable jenkins

# 查看Jenkins状态
sudo systemctl status jenkins

步骤4:访问Jenkins

打开浏览器,访问:http://localhost:8080

2.4 使用Docker安装Jenkins

使用Docker安装Jenkins的步骤。

步骤1:拉取Jenkins镜像

bash
# 拉取Jenkins镜像
docker pull jenkins/jenkins:lts

步骤2:运行Jenkins容器

bash
# 运行Jenkins容器
docker run -d \
  --name jenkins \
  -p 8080:8080 \
  -p 50000:50000 \
  -v jenkins_home:/var/jenkins_home \
  jenkins/jenkins:lts

步骤3:查看Jenkins日志

bash
# 查看Jenkins日志
docker logs jenkins

步骤4:访问Jenkins

打开浏览器,访问:http://localhost:8080

3. Jenkins配置

3.1 初始化配置

首次访问Jenkins需要进行初始化配置。

步骤1:获取管理员密码

bash
# 查看管理员密码
sudo cat /var/lib/jenkins/secrets/initialAdminPassword

步骤2:安装插件

  • 选择"安装推荐的插件"
  • 等待插件安装完成

步骤3:创建管理员账户

  • 输入用户名
  • 输入密码
  • 输入全名
  • 输入邮箱地址

步骤4:配置Jenkins URL

  • 输入Jenkins URL
  • 点击"保存并完成"

3.2 系统配置

配置Jenkins系统设置。

步骤1:进入系统配置

  • 点击"Manage Jenkins"
  • 点击"Configure System"

步骤2:配置系统设置

  • 配置Jenkins URL
  • 配置系统管理员邮箱
  • 配置执行器数量
  • 配置构建工具

步骤3:保存配置

  • 点击"保存"

3.3 全局工具配置

配置Jenkins全局工具。

步骤1:进入全局工具配置

  • 点击"Manage Jenkins"
  • 点击"Global Tool Configuration"

步骤2:配置JDK

  • 点击"JDK安装"
  • 输入JDK名称
  • 输入JAVA_HOME路径
  • 点击"保存"

步骤3:配置Maven

  • 点击"Maven安装"
  • 输入Maven名称
  • 选择Maven版本
  • 点击"保存"

步骤4:配置Git

  • 点击"Git安装"
  • 输入Git名称
  • 输入Git路径
  • 点击"保存"

4. Jenkins插件管理

4.1 插件概述

Jenkins插件扩展了Jenkins的功能。

常用插件

插件说明
Git PluginGit版本控制
Maven PluginMaven构建工具
Docker PluginDocker容器管理
Pipeline Plugin流水线功能
Blue Ocean现代化UI
Email Extension邮件通知

4.2 安装插件

安装Jenkins插件的步骤。

步骤1:进入插件管理

  • 点击"Manage Jenkins"
  • 点击"Manage Plugins"

步骤2:搜索插件

  • 输入插件名称
  • 点击"搜索"

步骤3:安装插件

  • 勾选插件
  • 点击"Install without restart"或"Download now and install after restart"

步骤4:重启Jenkins

  • 等待插件安装完成
  • 重启Jenkins

4.3 更新插件

更新Jenkins插件的步骤。

步骤1:进入插件管理

  • 点击"Manage Jenkins"
  • 点击"Manage Plugins"

步骤2:查看更新

  • 点击"Updates"
  • 查看可更新的插件

步骤3:更新插件

  • 勾选需要更新的插件
  • 点击"Download now and install after restart"

步骤4:重启Jenkins

  • 等待插件更新完成
  • 重启Jenkins

4.4 卸载插件

卸载Jenkins插件的步骤。

步骤1:进入插件管理

  • 点击"Manage Jenkins"
  • 点击"Manage Plugins"

步骤2:卸载插件

  • 点击"Installed"
  • 勾选需要卸载的插件
  • 点击"Uninstall"

步骤3:重启Jenkins

  • 等待插件卸载完成
  • 重启Jenkins

5. Jenkins任务创建

5.1 创建Freestyle任务

创建Freestyle任务的步骤。

步骤1:创建任务

  • 点击"New Item"
  • 输入任务名称
  • 选择"Freestyle project"
  • 点击"OK"

步骤2:配置任务

  • 配置源码管理
  • 配置构建触发器
  • 配置构建环境
  • 配置构建步骤
  • 配置构建后操作

步骤3:保存任务

  • 点击"保存"

步骤4:运行任务

  • 点击"Build Now"

5.2 创建Pipeline任务

创建Pipeline任务的步骤。

步骤1:创建任务

  • 点击"New Item"
  • 输入任务名称
  • 选择"Pipeline"
  • 点击"OK"

步骤2:配置任务

  • 配置Pipeline定义
  • 输入Pipeline脚本
  • 点击"保存"

步骤3:运行任务

  • 点击"Build Now"

Pipeline脚本示例

groovy
pipeline {
    agent any
    
    stages {
        stage('代码检查') {
            steps {
                sh 'npm run lint'
            }
        }
        
        stage('构建') {
            steps {
                sh 'npm install'
                sh 'npm run build'
            }
        }
        
        stage('测试') {
            steps {
                sh 'npm test'
            }
        }
        
        stage('部署') {
            steps {
                sh 'npm run deploy'
            }
        }
    }
    
    post {
        success {
            echo '构建成功'
        }
        failure {
            echo '构建失败'
        }
    }
}

6. Jenkins从节点配置

6.1 添加从节点

添加Jenkins从节点的步骤。

步骤1:进入节点管理

  • 点击"Manage Jenkins"
  • 点击"Manage Nodes and Clouds"

步骤2:创建节点

  • 点击"New Node"
  • 输入节点名称
  • 选择"Permanent Agent"
  • 点击"OK"

步骤3:配置节点

  • 配置节点名称
  • 配置节点描述
  • 配置远程工作目录
  • 配置标签
  • 配置启动方式
  • 配置节点属性
  • 点击"保存"

步骤4:启动节点

  • 点击"Launch agent"
  • 等待节点启动

6.2 配置从节点

配置Jenkins从节点的步骤。

步骤1:安装Java

bash
# 安装Java
sudo apt install openjdk-11-jdk -y

# 验证Java安装
java -version

步骤2:创建Jenkins用户

bash
# 创建Jenkins用户
sudo useradd -m -s /bin/bash jenkins

# 设置Jenkins用户密码
sudo passwd jenkins

步骤3:配置SSH

bash
# 切换到Jenkins用户
su - jenkins

# 生成SSH密钥
ssh-keygen -t rsa -b 4096

# 复制公钥到主节点
ssh-copy-id jenkins@master

7. Jenkins安全配置

7.1 启用安全

启用Jenkins安全的步骤。

步骤1:进入安全配置

  • 点击"Manage Jenkins"
  • 点击"Configure Global Security"

步骤2:配置安全

  • 启用安全
  • 配置认证方式
  • 配置授权策略
  • 点击"保存"

7.2 配置认证

配置Jenkins认证的步骤。

步骤1:进入安全配置

  • 点击"Manage Jenkins"
  • 点击"Configure Global Security"

步骤2:配置认证

  • 选择"Jenkins' own user database"
  • 点击"保存"

7.3 配置授权

配置Jenkins授权的步骤。

步骤1:进入安全配置

  • 点击"Manage Jenkins"
  • 点击"Configure Global Security"

步骤2:配置授权

  • 选择"Logged-in users can do anything"
  • 点击"保存"

8. Jenkins备份和恢复

8.1 备份Jenkins

备份Jenkins的步骤。

步骤1:停止Jenkins

bash
# 停止Jenkins
sudo systemctl stop jenkins

步骤2:备份Jenkins

bash
# 备份Jenkins
sudo tar -czf jenkins_backup_$(date +%Y%m%d).tar.gz /var/lib/jenkins

步骤3:启动Jenkins

bash
# 启动Jenkins
sudo systemctl start jenkins

8.2 恢复Jenkins

恢复Jenkins的步骤。

步骤1:停止Jenkins

bash
# 停止Jenkins
sudo systemctl stop jenkins

步骤2:恢复Jenkins

bash
# 恢复Jenkins
sudo tar -xzf jenkins_backup_20240101.tar.gz -C /

步骤3:启动Jenkins

bash
# 启动Jenkins
sudo systemctl start jenkins

课程总结

这节课我们学习了Jenkins安装和配置。

核心内容:

  • Jenkins概述
  • Jenkins安装
  • Jenkins配置
  • Jenkins插件管理
  • Jenkins任务创建
  • Jenkins从节点配置
  • Jenkins安全配置
  • Jenkins备份和恢复

重要命令:

  • sudo apt install jenkins:安装Jenkins
  • sudo systemctl start jenkins:启动Jenkins
  • sudo systemctl stop jenkins:停止Jenkins
  • sudo systemctl status jenkins:查看Jenkins状态
  • sudo cat /var/lib/jenkins/secrets/initialAdminPassword:查看管理员密码

Jenkins是最流行的CI/CD工具之一,掌握这些知识后,我们将在后续课程中学习自动化部署流程、Ansible自动化运维等内容。

课后练习

练习1(基础)

在Ubuntu上安装Jenkins,并完成初始化配置。

练习2(进阶)

创建一个Freestyle任务,实现代码构建和测试。

练习3(拓展)

创建一个Pipeline任务,实现代码构建、测试和部署。

评论区

专业的Linux技术学习平台,从入门到精通的完整学习路径