当前位置首页 > Linux知识

怎么在linux上安装部署jenkins

阅读次数:249 次  来源:admin  发布时间:

怎么在linux上安装部署jenki

作为一个非科班出身自学的小白,踩过很多的坑,特此留下记录

以下在虚拟机上示例

系统:linux(centos7)

操作方式:xshell连接终端操作

教程之前在此说明一下,也是我自己之前遇到的一些疑问,对于自学到一知半解的人来说可能不明白jenkins能安装在什么系统上,在实际公司应用的时候是部署在哪里的?比较啰嗦,不需要了解的可跳过直接看下方步骤。

在这里我回答一下,根据自己所查资料和理解,jenkins可以安装在windows系统上,Linux上,mac上其官网都有对应的安装包文件,个人认为公司实际应用的时候jenkins都是部署在服务器上的,理由也很简单 服务器是一直在运行着的,你可以安装在本机(windows或者mac上)但是是电脑关机后,别人就无法访问。所以为了方便,还是需要部署在服务器上。还有你在公司里可能发现你们用的可能有部署在windows上的jenkins,那可能是因为你测试环境的这一套,为了方便测试,直接在windows上部署的。那么你们实际生产上肯定还是有一套jenkins的。

1.xshell连接好虚拟机,检查环境,因为jenkins依赖java环境,所以要先检查是否有java环境。

 输入java -version 来检查是否有安装Java环境(有些系统环境里有自带的Java8的环境,比如centos7等),如下图就是安装好的

怎么在linux上安装部署jenkins

若没有安装好,可以直接在线安装 命令 yum install java-latest-openjdk-debug.x86_64,也可以用 yum install maven -y 直接安装maven 因为maven和java有依赖关系,会一键所有安装,之后再检查一下

小知识:1.没安装的话 你也可以用命令yum -y list java* 或者yum search jdk 来查询java SDK的详细信息,版本等,之后再安装。

    2.若不论执行什么命令都提示无权限 则在执行的命令前加sudo 之后输入你的root权限密码即可

    3.centos7之后的版本很多更新yum命令变为dnf,有时候你在教程甚至官网上查到的资料有dnf这个命令,然后你的系统执行

     不起来,提示需要安装dnf等,其实你只要用yum就可以,dnf安装起来也比较麻烦,如果必须要安装,可自行百度教程

2.添加jenkink库到yum库

执行命令 sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins-ci.org/redhat/jenkins.repo

(小提示:官网最新为sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo),官网自有一套后面会讲

怎么在linux上安装部署jenkins

执行此命令若提示wget 不是内部使用命令,则先安装weget 用命令 yum install wget -y 如下图weget 安装完成,

怎么在linux上安装部署jenkins

然后执行之前命令,若执行顺利会提示完毕,若有下列提示:错误,颁发的证书已过期等类似报错,则按照提示执行sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins-ci.org/redhat/jenkins.repo --no-check-certificate(其实就是跳过证书验证,还有一种方式可以执行命令安装证书,但是对于某些版本来说也没有什么用,就是执行yum install -y ca-certificates 之后会安装好证书,此方法也可以一试,不对之处请大神指点)

怎么在linux上安装部署jenkins

怎么在linux上安装部署jenkins

3.执行yum install -y jenkins 若顺利则会提示完毕,若有错误提示如下

怎么在linux上安装部署jenkins

则执行命令yum install -y jenkins --nogpgcheck(同理,跳过公钥检查)

怎么在linux上安装部署jenkins

4.配置jenkins的端口

(jenkins默认端口为8080,无冲突情况下可以不改)若要更改执行vim /etc/sysconfig/jenkins 若提示vim未安装则执行yum install vi/vim -y安装vim 之后找到修改端口号:JENKINS_PORT="8080"(vim编辑器的执行操作若不会的话,可查教程)

5.启动jenki

执行命令service jenkins start(同理停止jenkins为service jenkins start stop 重启为service jenkins start restart)这个界面不用任何操作只需等待

怎么在linux上安装部署jenkins

最后会变成这样的界面 说明启动成功

怎么在linux上安装部署jenkins

6.打开jenkins的端口(这里使用是默认的8080,如果有更改就打开你所更改的端口号)

不打开你在windows上去访问jenkins是访问不到的,这里建议先关闭jenkins服务,你可以用netstat -anp或者firewall-cmd --list-ports(推荐)命令先查看哪些端口被打开了,若提示netstat未找到命令,先用yum -y install net-tools安装命令,发现没有开放8080端口的话就依次执行firewall-cmd --permanent --zone=public --add-port=8080/tcp命令和systemctl reload firewalld命令,然后再次执行firewall-cmd --list-ports命令在查看一下就会发现8080 端口打开了,然后重新打开jenkins服务,在windows上打开浏览器,输入你的虚拟机ip和端口就可以访问了

怎么在linux上安装部署jenkins

7.获取初始密码

jenkins首次运行都会有一个初始密码就放在/var/lib/jenkins/secrets/initialAdminPassword这个目录下,根据上图页面提示,在你的服务器里找到/var/lib/jenkins/secrets/路径,然后获取initialAdminPassword文件的里的初始密码就可以了

你可以直接执行命令 cat /var/lib/jenkins/secrets/initialAdminPassword 然后复制填进去就行,点击继续

怎么在linux上安装部署jenkins

怎么在linux上安装部署jenkins

这里建议直接点击安装推荐的插件,等待其安装完毕

怎么在linux上安装部署jenkins

接下来创建用户名和密码(一定不要忘了密码),按照要求填写就行,点击保存并完成

怎么在linux上安装部署jenkins

这里jenkins会自动填写你的服务机的ip和端口,直接点击保存并完成就,然后点击开始使用jenki

怎么在linux上安装部署jenkins

最后,历尽千辛万苦,终于来到了这个页面,算是大功告成了

怎么在linux上安装部署jenkins

这里分享一下几个比较杂的知识点

1.查看jenkins的状态或者启动停止重启的命令 还可以这样写

启动:systemctl start jenki

停止:systemctl stop jenki

重启:systemctl restart jenki

状态:systemctl status jenki

2.官网上有一套安装jenkins的方法和步骤,虽然官网都是最新的和标准的,但结合自己的系统环境等因素可能也会碰到许多问题,大家可以一试

https://www.jenkins.io/doc/book/installing/linux/#red-hat-cento

进来之后点击下图所示

怎么在linux上安装部署jenkins

执行如下的命令,(有些就是上述所用到的),这边就自行探索去吧

怎么在linux上安装部署jenkins

3.若想卸载jenkins,怎么卸载清除干净,或者以前安装失败了想清理干净重新安装

1).卸载jenkins 执行 rpm -e jenki

检查是否卸载成功 执行 rpm -ql jenki

2).彻底删除残留文件:

执行 find / -iname jenkins | xargs -n 1000 rm -rf

4.拓展一下jenkins可不可以用docker安装,以下是借用各路大神的观点,权当参考

就是我本身也有一个这样的疑问?docker被说的神乎其神,jenkins作为一个单体的服务,放在docker里管理是不是更好?

大神回答:1.

我以前也曾经把jenkins放进docker,后来发现反而麻烦无比。因为docker适合轻依赖的应用,像jenkins这种依赖非常重的应用是根本不适合放在docker中的

java的应用放在docker本身意义不太大,尤其是像jenkins这样很方便就能启动的应用,java本身已经有docker的核心特性(集装箱、资源限制等)

但是docker是跨语言的,是一种更优雅的解决方案,放在docker里面统一管理也未尝不可

容器技术主要是让操作系统里的每个进程都能享受“独享操作系统资源”的待遇,这样一来部署时就无需考虑环境差异,用统一的方式做资源映射就行(ps: ip&port、文件系统都算资源)。而 docker 更是基于此做到了相当于把运行环境和软件本身都打包在一块,到处拷贝替换就能完成安装和升级过程,仿佛操作系统镜像一般,但比之要轻便 N 倍、强大 N 的平方倍。

以上是在下眼中的 docker ,这对无数需要开发和维护 7*24 小时运行的软件人来说诱惑实在太大了,哪怕机器数量不大也懒得去折腾了

总结:以上就是全部内容了,仁者见仁,智者见智,互联网的技术一直在不断更新,也希望大家跟上时代的脚步不断学习进步

怎么在linux上安装部署jenkins

上一篇:pythonLinuxflaskuwsginginx在centos7.3部署
下一篇:nginx简介及简单使用