百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

最火的 CI/CD 平台 Jenkins 详细搭建教程(for Linux)

ahcoder 2025-06-18 10:32 3 浏览

在正式学习Jenkins之前我们需要对两个名词有一定了解,其一是DevOps,另外一个就是CI/CD。

何为DevOps?

来自wiki百科介绍

DevOps是一系列软件开发实践,强调开发人员(Dev)和测试人员(QA)及运维人员(Ops)之间的沟通合作,通过自动化流程,使得软件构建、测试、发布更加快捷、频繁和可靠。

简单来说通过DevOps可以将开发、测试、运维三个团队紧密联系在一起,能够使得项目快速迭代、缩短项目上线时间。

需要注意的是DevOps是一种理念,而不是一种技术,在实际工作中落地应用这套理念需要有相对应得技术作为支撑,而CI/CD就是作为DevOps得最佳实践技术手段。

何为CI/CD?

  • 持续集成 (Continuous integration,简称CI)

持续集成是一种开发实践,它倡导团队成员需要频繁的集成他们的工作,每次集成都通过自动化构建(包括编译、构建、自动化测试)来验证,从而尽快地发现集成中的错误。让正在开发的软件始终处于可工作状态,让产品可以快速迭代,同时还能保持高质量。

  • 持续交付(Continuous Delivery)

持续交付是持续集成的延伸或者看作持续集成的下一步,它将集成后的代码部署到类生产环境,确保可以以可持续的方式快速向客户发布新的更改。如果代码没有问题,可以继续部署到生产环境中。它强调的是,不管怎么更新,软件是随时随地可以交付的。

  • 持续部署(Continuous Deployment)

持续部署是持续交付的下一步,在持续交付的基础上,由开发人员或运维人员定期向生产环境部署稳定的构建版本,持续部署的目标是代码在任何时刻都是可部署的,并可自动进入到生产环境。

而CI/CD整套流水线体系的运行我们需要Jenkins这样的平台去支撑。

部署Jenkins环境

这里以Linux平台(centos 7)为例讲解

安装配置JDK环境

  1. 从官网下载jdk压缩包,拷贝到linux系统opt目录下
    http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  2. 解压:
  3. tar -xzvf jdk-8u121-linux-x64.tar.gz
  4. 配置环境变量,/etc/profile文件每个用户登录时都会运行的环境变量设置
  5. vim /etc/profile
  6. 在最末尾进行配置
  7. export JAVA_HOME=/opt/jdk1.8.0_121 export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/ export PATH=$PATH:$JAVA_HOME/bin
  8. 注意:JAVA_HOME需要配置为本地JDK家目录
  9. 使配置生效
  10. source /etc/profile
  11. 验证JDK配置
  12. java -version

安装配置Jenkins

  1. 从官网下载Jenkins rpm包
  2. wget https://pkg.jenkins.io/redhat-stable/jenkins-2.249.3-1.1.noarch.rpm
  3. 从官网下载可能速度较慢,可以换成清华的地址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/
  4. 安装Jenkins
  5. rpm -ivh jenkins-2.249.3-1.1.noarch.rpm
  6. 启动Jenkins
  7. systemctl start jenkins
  8. 可能遇到的报错:
  9. Starting Jenkins bash: /usr/bin/java: No such file or directory
  10. 解决方案: 添加java命令的的软链接
  11. ln -s /opt/jdk1.8.0_121/bin/java /usr/bin/java
  12. 修改Jenkins端口号
  13. 默认Jenkins会使用8080端口,此端口会被很多程序使用,比如tomcat
  14. 编辑JENKINS_PORT配置选项
  15. vim /etc/sysconfig/jenkins ```shell ## Type: integer(0:65535) ## Default: 8080 ## ServiceRestart: jenkins # # Port Jenkins is listening on. # Set to -1 to disable # JENKINS_PORT="8081"
  16. 重启Jenkins
  17. systemctl restart jenkins

使用Jenkins

访问Jenkins通过http://你的服务器ip地址:8081即可访问

一、初始化配置,进入到对应目录通过cat命令查看初始化密码

cat /var/lib/jenkins/secrets/initialAdminPassword

二、自定义插件进行安装

三、勾选【无】选择安装,这里不选择插件安装是因为插件可能会下载失败,我们可以选择后续再去安装。

四、填写管理员用户信息

五、点击保存并完成即可

相关推荐

linux基础命令之zip、unzip命令(linux zip指令)

zip命令是linux系统下压缩文件的命令,后缀为.zip。unzip命令是对zip压缩包进行解压,和tar命令不同,tar命令是支持压缩和解压的命令语法格式:zip参数压缩名称要进行压缩的目录...

Linux:基础命令讲解实例(九)(linux13个基础命令)

前言大家好!本次我们详细介绍Linux系统中两个重要的命令:tar和zip。tar用于打包和解压文件,而zip用于创建和解压ZIP压缩文件。tar命令tar命令用于打包和解压文件...

Linux应用打包格式Flatpak风光背后,核心开发陷入停滞

IT之家5月24日消息,在今年4月召开的Linux应用峰会(LAS)上,GNOME项目成员、RedHat员工SebastianWick指出,Flatpak这一应用打包格式...

深入学习IO多路复用select/poll/epoll实现原理

Linux服务器处理网络请求有三种机制,select、poll、epoll,本文打算深入学习下其实现原理。0.结论本文其他的内容主要是得出了下面几个结论:服务器要接收客户端的数据,要建立sock...

X11退场,Ubuntu 25.10发行版全面拥抱Wayland

IT之家6月12日消息,科技媒体linuxiac昨日(6月11日)发布博文,报道称Canonical宣布自Ubuntu25.10开始,将彻底移除基于Xorg的GNOM...

最火的 CI/CD 平台 Jenkins 详细搭建教程(for Linux)

在正式学习Jenkins之前我们需要对两个名词有一定了解,其一是DevOps,另外一个就是CI/CD。何为DevOps?来自wiki百科介绍DevOps是一系列软件开发实践,强调开发人员(Dev)和测...

Window安装Linux子系统(win10安装linux子系统 图形界面)

目前程序开发过程中使用的很多中间件在生产环境中都是稳定运行在linux系统上的,虽然有一些中间件提供了Windows的版本,但是可能存在一定的差异,为了更好的学习建议准备一个linux环境运行这些中间...

Linux下Qt桌面应用的开发流程(qt程序能否运行在linux)

在Linux下开发Qt桌面应用的完整流程可分为以下六个核心阶段,结合Qt框架特性和Linux环境特点进行优化。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎洽谈合作。一、环境搭建与配置1安装...

搭建Oracle数据库服务器(oracle数据库服务器部署)

【十一】搭建Oracle数据库服务器下面介绍Oracle12c_R2的安装。一)建用户,组,目录,权限1)创建用户和组有两个组,oinstall是主组,dba是附组:[root@alex~]#g...

linux实例之创建service服务(linux 制作服务)

前面我们讲过可以通过service命令来启动,重启,停止指定的服务程序。service服务可以在系统启动时,自动运行该服务,我们可以利用这一特点,创建service文件,并且让系统重启时,自动执行命令...

Linux编程Shell之入门——Shell select in循环详解

select循环是一种用于创建交互式菜单的特殊循环结构。它允许用户从预定义的选项列表中进行选择,并根据选择执行相应的操作。select循环在交互式shell脚本中非常有用。下面是select...

安装Linux之前必备知识(安装linux之前必备知识的软件)

内容提要1、磁盘分区的相关概念2、使用静态分区的缺点3、LVM的相关概念磁盘分区在安装Linux以前,首先应该了解一些关于硬盘分区的知识。现代操作系统无一例外地使用了虚拟内存技术。Windows系统使...

Linux开机自启全攻略:找到最适合你的方法

今天一个linux的开机自启,折腾了两个小时,好好的梳理下以备不时之需。接触linux15年了。这点小知识还是没摸透。在Linux中设置开机自启动。除了"systemd"以外还有以下有...

麒麟 v10 系列单用户模式(麒麟v10 bond)

起因:因为操作系统有关键性文件被删除了,导致系统出现了问题,需要进行修复系统,这个时候只能进去单用户模式去修复,然后我安装centos系的方法重启按e,没想到需要输入账号密码,我输入了root的账号密...

Linux中的sudo功能(linux里的sudo)

sudo是Linux系统中一个非常重要的工具,他允许普通用户以超级用户(root)或其他用户的权限执行命令。以下是sudo命令功能的详细介绍:sudo的基本功能权限提升:允许普通用户执行需要超级用户权...