当前位置:首页 > 技术分析 > 正文内容

手把手教你在 CentOS7 下搭建 Jenkins

ruisui882个月前 (02-11)技术分析21

阿粉的公司是用 Jenkins 去做的 DevOps 实践,那么想要快速熟悉 Jenkins ,第一步就是去把它搭建一下,这周末闲着没事就玩了一把,将整个过程和大家分享下

Jenkins 是什么

Jenkins 是什么嘞?它提供了软件开发的持续集成服务,运行在 Servlet 容器中(例如 Apache Tomcat )。它支持软件配置管理( SCM )工具(包括 AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase 和 RTC ),可以执行基于 Apache Ant 和 Apache Maven 的项目,以及任意的 Shell 脚本和 Windows 批处理命令

有点儿晦涩难懂?那就记住一句话就可以了, Jenkins 的存在是为了简化我们的开发流程,比如我们往 git 上提交了代码, Jenkins 就会自动拉取最新的代码帮我们部署

CentOS7 下 Jenkins 搭建过程

Jenkins 需要 jdk 环境,阿粉这里就不做示范了

安装完 jdk 环境之后,就可以准备安装 Jenkins ,几条命令即可(#后面为注释内容):

#下载Jenkins库
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo 

#导入key
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

#安装Jenkins
yum install -y jenkins

#启动Jenkins服务
systemctl start jenkins 

到这里, CentOS 下 Jenkins 搭建便是完成了

此时我们可以通过 ip:port 的方式,访问到 Jenkins ,如下图所示:

点击Continue之后,会出现下图:

然后根据自己的需求,进行安装即可。到此, CentOS 下 Jenkins 搭建便是完成了

是不是还挺简单~

可能遇到的问题

1 ,Starting jenkins (via systemctl): Job for jenkins.service failed because the control process exited with error code.

运行命令: systemctl status jenkins.service 查看错误详细信息

请注意我在图中标注出来的两个地方,第一个地方是 Jenkins 加载的路径,第二个地方是 Jenkins 的错误详细信息: Failed to start LSB: Jenkins Automation Server

这是因为 Jenkins 未加载到 java 环境的问题,直接修改 Jenkins 的启动文件,并在 candiddates 参数内追加 java 的环境变量即可

Jenkins的启动文件,在图中第一个地方我已经做了标注,所以运行以下命令:vi /etc/rc.d/init.d/jenkins

具体修改见下图:

关于 java 环境变量这部分,因为每个人的配置不同,所以你需要根据自己的实际情况做修改。修改完之后再做以下步骤即可(#后内容为注释内容):

#重新启动Jenkins服务
systemctl restart jenkins.service

#查看Jenkins服务,可以看到服务已经起来了
systemctl status jenkins.service

2 ,在 CentOS 环境下, Jenkins 已经安装好了,但是在外部访问不到。这可能是因为防火墙的问题

出于安全的考虑,我是不建议直接将防火墙关掉的。开启 Jenkins 需要的端口即可(以开启 8080 端口为例,具体可根据自己需求更改):

开端口命令:firewall-cmd --zone=public --add-port=8080/tcp --permanent
重启防火墙:systemctl restart firewalld.service

命令含义:
 
--zone #作用域
 
--add-port=80/tcp  #添加端口,格式为:端口/通讯协议
 
--permanent   #永久生效,没有此参数重启后失效

因为 Jenkins 默认端口是 8080 ,可能会导致端口冲突。修改 Jenkins 的默认端口即可: vi /etc/sysconfig/jenkins

在该配置文件中,可以看到 JENKINS_PORT 这一项,根据需求修改即可

到这里, Jenkins 就已经没有任何问题的安装上了

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/1904.html

标签: centos java
分享给朋友:

“手把手教你在 CentOS7 下搭建 Jenkins” 的相关文章

vue3中父子传值、defineProps用法、defineEmits用法

Vue3中新增了一个 script setup 语法糖模式,可以在单文件组件中更简洁地编写组件逻辑。使用 script setup 语法后,props、data、computed、methods 等选项不再需要独立定义,而是可以直接在 setup 函数中声明,代码结构更加清晰,并且可以更方便地使用响...

vue项目-父页面数据变化使子页面更新的几种情况

当操作页面时候,特别是增删改操作之后,数据会有所改变,这个时候我们希望组件中的数据要和最新数据一致,就需要重新更新渲染。以下是针对几种不同情况下方式:一.子页面调用接口后重新渲染1.使用ref方式父组件中用ref=“xxx” 来声明子组件,然后通过在父组件值改变的地方来调用子组件中的方法this.$...

git的几种分支模式

编写代码,是软件开发交付过程的起点,发布上线,是开发工作完成的终点。代码分支模式贯穿了开发、集成和发布的整个过程,是工程师们最亲切的小伙伴。那如何根据自身的业务特点和团队规模来选择适合的分支模式呢?本文分享几种主流 Git 分支模式的流程及特点,并给出选择建议。分支的目的是隔离,但多一个分支也意味着...

一次Java内存占用高的排查案例,解释了我对内存问题的所有疑问

问题现象7月25号,我们一服务的内存占用较高,约13G,容器总内存16G,占用约85%,触发了内存报警(阈值85%),而我们是按容器内存60%(9.6G)的比例配置的JVM堆内存。看了下其它服务,同样的堆内存配置,它们内存占用约70%~79%,此服务比其它服务内存占用稍大。那为什么此服务内存占用稍大...

双子座应用程序推出模型切换器以在Android上访问2.0

#头条精品计划# 快速导读谷歌推出了Gemini 2.0 Flash实验版,现已在其安卓应用中可用,之前仅在gemini.google.com网站上提供。新版本的15.50包含模型切换器,用户可以在设置中选择不同模型,包括1.5 Pro、1.5 Flash和2.0 Flash实验版。谷歌提醒,2.0...

前端路由简介以及vue-router实现原理

作者:muwoo 来源:https://zhuanlan.zhihu.com/p/37730038后端路由简介路由这个概念最先是后端出现的。在以前用模板引擎开发页面时,经常会看到这样http://www.xxx.com/login 大致流程可以看成这样:浏览器发出请求服务器监听到80 端口(或443...