自动化 CI/CD 从 0 到 1:Jenkins 本地化部署全指南
0 成本搭建企业级 CI/CD 平台Jenkins 本地化部署与使用全指南附 Pipeline 配置避坑技巧一、Jenkins 本地化部署简介Jenkins 是一款开源的企业级 CI/CD持续集成 / 持续部署平台核心功能包括自动化 CI/CD 流程实现代码从提交到部署的全流程自动化提升开发效率插件生态丰富支持数千款插件覆盖代码构建、测试、部署、监控等全场景多环境适配支持 Windows、Linux、macOS 等多种系统适配各类开发环境权限管理细粒度的用户权限控制保障 CI/CD 流程安全分布式构建支持多节点分布式构建提升大型项目的构建速度本地化部署的核心价值数据安全CI/CD 流程数据存储在企业内部服务器避免数据泄露风险自定义配置根据企业需求定制 CI/CD 流程适配内网开发环境内网访问支持团队在内网环境下使用无需依赖外网成本控制完全开源免费避免使用商业 CI/CD 平台的高额费用二、环境准备1. 服务器要求最低配置2 核 4G 内存100G 硬盘适合小型团队10-20 人使用推荐配置4 核 8G 内存500G 硬盘适合中型团队50 人以上使用操作系统Ubuntu 20.04/CentOS 8/RHEL 8网络要求可以访问外网用于拉取安装包和插件2. 依赖环境准备安装 JDKJenkins 需要 Java 环境支持# Ubuntu/Debiansudoaptupdatesudoaptinstall-yopenjdk-11-jdk# CentOS/RHELsudoyuminstall-yjava-11-openjdk-devel验证 JDK 安装java-version三、Jenkins 部署步骤1. 包安装推荐适合稳定部署Ubuntu/Debian 系统安装 Jenkins 仓库配置curl-fsSLhttps://pkg.jenkins.io/debian-stable/jenkins.io-2023.key|sudotee/usr/share/keyrings/jenkins-keyring.asc/dev/nullechodeb [signed-by/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/|sudotee/etc/apt/sources.list.d/jenkins.list/dev/null安装 Jenkinssudoaptupdatesudoaptinstall-yjenkins启动 Jenkins 服务sudosystemctl start jenkinssudosystemctlenablejenkinsCentOS/RHEL 系统安装 Jenkins 仓库配置sudowget-O/etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.reposudorpm--importhttps://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key安装 Jenkinssudoyuminstall-yjenkins启动 Jenkins 服务sudosystemctl start jenkinssudosystemctlenablejenkins2. Docker 部署适合容器化场景安装 Dockercurl-fsSLhttps://get.docker.com|bash-sdocker--mirrorAliyun systemctl startdockersystemctlenabledocker拉取 Jenkins 镜像dockerpull jenkins/jenkins:lts启动 Jenkins 容器dockerrun-d\--namejenkins\--publish8080:8080--publish50000:50000\--restartalways\--volume/srv/jenkins/home:/var/jenkins_home\jenkins/jenkins:lts3. 验证部署等待 5-10 分钟访问服务器 IP8080 端口如http://192.168.1.100:8080如果能看到 Jenkins 的解锁界面说明部署成功。四、Jenkins 初始配置1. 管理员账号设置解锁 Jenkins根据页面提示找到初始管理员密码路径为# 包安装的Jenkinssudocat/var/lib/jenkins/secrets/initialAdminPassword# Docker部署的Jenkinsdockerexecjenkinscat/var/jenkins_home/secrets/initialAdminPassword输入初始密码点击【继续】选择【安装推荐的插件】等待插件安装完成创建管理员账号填写用户名、密码、邮箱等信息2. 插件安装推荐核心插件进入【系统管理】→【插件管理】搜索并安装以下核心插件Pipeline用于创建 CI/CD 流水线Git支持 Git 代码仓库Maven Integration支持 Maven 项目构建Docker Pipeline支持 Docker 容器化部署Role-based Authorization Strategy支持细粒度权限控制3. 全局工具配置进入【系统管理】→【全局工具配置】配置 JDK点击【新增 JDK】取消勾选【自动安装】填写 JDK 安装路径如/usr/lib/jvm/java-11-openjdk-amd64配置 Git点击【新增 Git】填写 Git 安装路径如/usr/bin/git配置 Maven点击【新增 Maven】取消勾选【自动安装】填写 Maven 安装路径如/opt/maven五、Jenkins 核心使用场景1. 创建第一个 Pipeline 任务点击【新建任务】填写任务名称选择【Pipeline】点击【确定】在【Pipeline】配置中选择【Pipeline script】输入以下示例脚本pipeline{agent any stages{stage(拉取代码){steps{git url:https://github.com/your-username/your-project.git,branch:main}}stage(代码构建){steps{shmvn clean package}}stage(部署应用){steps{shjava -jar target/your-project.jar }}}}点击【保存】然后点击【立即构建】查看构建日志2. 构建自动化 CI/CD 流程进入任务配置在【构建触发器】中选择【GitHub hook trigger for GITScm polling】在 GitHub 项目的【Settings】→【Webhooks】中添加 Jenkins 的 Webhook 地址如http://your-jenkins-url/github-webhook/这样当代码提交到 GitHub 时Jenkins 会自动触发构建3. 任务权限管理进入【系统管理】→【全局安全配置】选择【Role-Based Strategy】进入【系统管理】→【Manage and Assign Roles】创建角色并分配权限点击【Manage Roles】创建【Developer】角色分配【Job】的读取、构建权限点击【Assign Roles】将用户分配到对应的角色六、常见问题与解决方案1. 部署后无法访问解决方案检查服务器防火墙是否开放 8080 端口检查 Jenkins 服务是否正常运行sudo systemctl status jenkins检查 Jenkins 日志sudo journalctl -u jenkins2. 插件安装失败解决方案更换插件源为国内镜像进入【系统管理】→【插件管理】→【高级】修改【升级站点】为https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json手动下载插件然后上传安装3. Pipeline 执行失败解决方案查看 Pipeline 日志检查错误信息确认 Pipeline 脚本语法是否正确检查工具配置是否正确如 JDK、Git、Maven 路径4. 内存不足问题解决方案增加服务器内存修改 Jenkins 内存配置编辑/etc/default/jenkins修改JAVA_ARGS为-Xmx2g -Xms1g重启 Jenkins 服务sudo systemctl restart jenkins七、结尾互动如果本文对你有帮助欢迎点赞、收藏、关注有任何问题欢迎在评论区交流我会第一时间回复。如果需要 Jenkins 的进阶使用教程或者其他 DevOps 工具的部署指南也可以在评论区留言告诉我