当前位置: 首页 > news >正文

Jenkins 从0基础到有点基础——如何安装

CICD是什么

CI/CD这个词听起来很高大上,其实说白了就是让代码从开发到上线这个过程变得自动化。

CI是Continuous Integration的缩写,中文叫持续集成。简单理解就是,开发人员每次提交代码后,系统会自动把所有人的代码合并在一起,然后跑一遍测试,看看有没有冲突或者bug。就像搭积木一样,每加一块都要检查一下整体结构是不是还稳固。

CD有两个意思,一个是Continuous Delivery(持续交付),另一个是Continuous Deployment(持续部署)。持续交付是说代码随时都处于可发布状态,就像工厂流水线上的产品,每个环节都质检过了,随时可以出厂。持续部署更进一步,直接自动发布到生产环境,完全不需要人工干预。

举个例子,以前我们部署一个网站,可能需要手动上传文件、重启服务、清缓存等等,一套流程下来半小时,还容易出错。有了CI/CD之后,开发人员只要把代码推送到Git仓库,剩下的事情全部自动完成:自动测试、自动打包、自动部署、自动重启服务,几分钟就搞定了。

CI/CD的核心思想就是"小步快跑,快速反馈"。与其攒一堆功能一次性发布(风险大),不如每个小功能都快速上线,出问题也能快速定位和修复。这样既提高了开发效率,又降低了上线风险,是现代软件开发的标配。

image-20251026223735561

为什么选择Jenkins

官方文档:https://www.jenkins.io/zh/doc/book/installing/

说实话,CI/CD工具现在选择挺多的,GitLab CI、GitHub Actions、Azure DevOps什么的都不错。但是我最终还是选择了Jenkins,主要原因有几个:

Jenkins的插件生态真的很丰富,基本上你能想到的功能都有对应的插件。而且它是开源的,不用担心费用问题。最重要的是,Jenkins对PHP项目的支持很好,配置起来也比较灵活。

当然了,Jenkins也有它的缺点,比如界面看起来有点老旧,配置相对复杂一些。不过习惯了就好,功能强大才是硬道理。

image-20251026212456520

环境准备和Jenkins安装

我们的服务器环境是debain13。Jenkins可以用Docker来部署,这样比较干净,也方便管理。

docker run \-u root \--rm \-d \-p 8080:8080 \-p 50000:50000 \-v jenkins-data:/var/jenkins_home \-v /var/run/docker.sock:/var/run/docker.sock \jenkinsci/blueocean

开始下载

image-20251025210659091

我镜像一直下载失败,换了直接用软件包安装(记得安装java环境),文档地址:https://www.jenkins.io/zh/doc/book/installing/#war%E6%96%87%E4%BB%B6

image-20251025230851241

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins

image-20251025232314160

启动后访问http://your-server:8080,按照提示完成初始化配置。初始密码在容器日志里能找到:

image-20251025232503832

必要插件安装

image-20251025232750730

image-20251025232911392

Jenkins装好后,需要安装一些必要的插件。进入"系统管理" -> “插件管理”,安装以下插件(这些插件记得装!!!):

  • Git plugin(代码拉取)
  • Pipeline(流水线支持)
  • Blue Ocean(更好看的界面)
  • Publish Over SSH(SSH部署)
  • Build Timestamp(构建时间戳)
  • Email Extension(邮件通知)

插件安装完成后记得重启Jenkins。有时候插件之间会有依赖关系,Jenkins会自动帮你安装依赖的插件,这点还是很贴心的。

配置Git仓库连接

我们的代码托管在GitLab上,需要配置Jenkins能够拉取代码。在"系统管理" -> "全局工具配置"中配置Git路径,一般Jenkins会自动检测到。

然后在"系统管理" -> "系统配置"中添加Git凭据。我建议使用SSH密钥的方式,比较安全:

# 在Jenkins服务器上生成SSH密钥
ssh-keygen -t rsa -b 4096 -C "jenkins@yourcompany.com"# 将公钥添加到GitLab的Deploy Keys中
cat ~/.ssh/id_rsa.pub

image-20251026205629868

把私钥内容添加到Jenkins的凭据管理中,类型选择"SSH Username with private key"。

image-20251026210227738

创建第一个Pipeline任务

选择测试hello world

image-20251026210313943

image-20251026210357578

点击立即构建,构建完成

image-20251026210445605

写在最后

jenkins的搭建就讲完了,没什么技术含量。照着文档做就行了,要注意的是软件包和网络环境的问题。目前遇到的问题丢给ai都可以很好的解决!(学会用ai很重要!!!),下一期来讲讲jenkins如何来实现php环境的cicd(主要是我博客用的是php哈哈哈)


好了,今天的分享就到这里。如果这篇文章对你有帮助,别忘了点个赞、转发给需要的朋友。想了解更多运维实战经验,

记得关注@运维躬行录,我会持续分享一线的技术实践和踩坑经验。让我们一起在运维的路上越走越远!

个人博客:https://www.fuzhoupyy.work

http://www.dtcms.com/a/532362.html

相关文章:

  • 我在高职教STM32(新06)——蜂鸣器鸣响实验
  • STM32实现低功耗管理使用配置知识梳理笔记
  • 8-SpringCloud-服务网关 Gateway-高级特性Predicate
  • 从语法糖到引擎实现——JavaScript Class 完整指南(2025 版)
  • 建设网站导航做电商网站必需知道qc
  • STM32 系统定时器(精准延迟)
  • 千问图像编辑Qwen-image-Edit及Qwen-image-Edit-2509(编辑文字/外观编辑/语义编辑)
  • 静态代理模式
  • 探索有效文章生成的技巧与方法
  • 库的认识和制作
  • 在线做英语题的网站html5手机网站返回顶部
  • 开源项目详解3-ParserSpel
  • 系统性学习C++-第八讲-vector类
  • 什么是Nginx?:掌握高性能 Web 服务器核心技术
  • 江西网站开发公司模板网婚纱
  • 快速搭建Docker私有仓库指南
  • 网站禁用右键wordpress mycred汉化
  • 音视频处理(二): 一文讲清楚音频处理流程:采样、压缩和播放
  • 基于单片机的篮球比赛计时与比分控制系统设计
  • C++容器set
  • 网站建设主机耗电量怎么写代码自己制作网站
  • 超越低功耗:TMS320C6000 DSP的能效架构设计与IoT节点部署实践
  • 西安网站开发工资首都之窗门户网站首页
  • 中药电商平台是什么?主要具有哪些创新特征与应用场景?
  • Python模块(Module)详解:从基础使用到工程化实践
  • DTD 属性详解
  • 随身WiFi助手
  • 安卓网络请求详解:Retrofit + OkHttp 高效通信方案
  • centos建设网站营销系统平台
  • 华为OD机试双机位A卷 - 统计差异值大于相似值二元组个数 (C++ Python JAVA JS GO)