Jenkins全方位CI/CD实战指南

发布于:2025-07-17 ⋅ 阅读:(16) ⋅ 点赞:(0)

Jenkins简介

Jenkins是一个开源的持续集成和持续交付(CI/CD)工具,用于自动化软件开发过程中的构建、测试和部署任务。它通过插件扩展支持多种开发、测试和部署技术,帮助团队实现高效的软件交付流程。

jenkins安装

使用 Docker 安装 Jenkins

运行以下命令启动 Jenkins 容器:

docker run -d -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts

访问 http://localhost:8080 完成初始化设置,初始密码可在容器日志中找到:

docker logs <container_id>

在 Ubuntu 上安装 Jenkins

添加 Jenkins 官方仓库密钥:

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

更新系统并安装 Jenkins:

sudo apt-get update
sudo apt-get install jenkins

在 CentOS/RHEL 上安装 Jenkins

添加 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

安装 Jenkins:

sudo yum install jenkins
sudo systemctl start jenkins
sudo systemctl enable jenkins

在 Windows 上安装 Jenkins

下载 Windows 安装包: 访问 Jenkins 官网 下载 Windows 版本的安装程序。 运行安装程序并按照向导完成安装,安装完成后访问 http://localhost:8080 进行配置。

初始化 Jenkins

访问 Jenkins 控制台后,从指定路径获取初始管理员密码:

cat /var/lib/jenkins/secrets/initialAdminPassword

选择安装推荐的插件或自定义插件,创建管理员账户并完成配置。

防火墙配置

开放 Jenkins 默认端口 8080 和代理端口 50000:

sudo ufw allow 8080
sudo ufw allow 50000
sudo ufw enable

常见问题解决

如果遇到插件安装失败,检查网络连接或更换镜像源:

sudo sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' /var/lib/jenkins/hudson.model.UpdateCenter.xml

核心功能

自动化构建与测试
Jenkins可以监控版本控制系统(如Git、SVN)的变更,触发自动构建和测试流程,确保代码变更不会引入错误。

Jenkins与Git结合实例

配置Jenkins与Git集成

在Jenkins中安装Git插件(如默认未安装),进入系统管理 > 插件管理,搜索并安装"Git Plugin"。完成后,在全局工具配置中设置Git的路径(或选择自动安装)。

创建Jenkins任务

新建一个自由风格项目,在源码管理部分选择"Git",填写仓库URL(如https://github.com/user/repo.git)和凭证(用户名/密码或SSH密钥)。指定分支(如*/main)。

设置构建触发器

在"构建触发器"中勾选"Poll SCM",设置定时检查Git仓库的间隔(如H/5 * * * *表示每5分钟检查一次变更)。也可使用GitHub Webhook实现实时触发。

添加构建步骤

在"构建"部分添加执行shell或Windows批处理命令的步骤,例如:

mvn clean package

或调用其他脚本处理代码。

配置构建后操作

例如存档JUnit测试报告或构建产物:

**/target/*.jar

可添加邮件通知或Slack通知插件,在构建失败时发送警报。


使用Jenkinsfile实现Pipeline

在Git仓库根目录创建Jenkinsfile,定义声明式或脚本式流水线。以下为声明式示例:

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                sh 'mvn clean package'
            }
        }
        stage('Test') {
            steps {
                sh 'mvn test'
            }
        }
    }
}

网站公告

今日签到

点亮在社区的每一天
去签到