怎么在linux上安装部署jenkins
怎么在linux上安装部署jenkins
作为一个非科班出身自学的小白,踩过很多的坑,特此留下记录
以下在虚拟机上示例
系统: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等),如下图就是安装好的
若没有安装好,可以直接在线安装 命令 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),官网自有一套后面会讲
执行此命令若提示wget 不是内部使用命令,则先安装weget 用命令 yum install wget -y 如下图weget 安装完成,
然后执行之前命令,若执行顺利会提示完毕,若有下列提示:错误,颁发的证书已过期等类似报错,则按照提示执行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 之后会安装好证书,此方法也可以一试,不对之处请大神指点)
3.执行yum install -y jenkins 若顺利则会提示完毕,若有错误提示如下
则执行命令yum install -y jenkins --nogpgcheck(同理,跳过公钥检查)
4.配置jenkins的端口
(jenkins默认端口为8080,无冲突情况下可以不改)若要更改执行vim /etc/sysconfig/jenkins 若提示vim未安装则执行yum install vi/vim -y安装vim 之后找到修改端口号:JENKINS_PORT="8080"(vim编辑器的执行操作若不会的话,可查教程)
5.启动jenkins
执行命令service jenkins start(同理停止jenkins为service jenkins start stop 重启为service jenkins start restart)这个界面不用任何操作只需等待
最后会变成这样的界面 说明启动成功
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和端口就可以访问了
7.获取初始密码
jenkins首次运行都会有一个初始密码就放在/var/lib/jenkins/secrets/initialAdminPassword这个目录下,根据上图页面提示,在你的服务器里找到/var/lib/jenkins/secrets/路径,然后获取initialAdminPassword文件的里的初始密码就可以了
你可以直接执行命令 cat /var/lib/jenkins/secrets/initialAdminPassword 然后复制填进去就行,点击继续
这里建议直接点击安装推荐的插件,等待其安装完毕
接下来创建用户名和密码(一定不要忘了密码),按照要求填写就行,点击保存并完成
这里jenkins会自动填写你的服务机的ip和端口,直接点击保存并完成就,然后点击开始使用jenkins
最后,历尽千辛万苦,终于来到了这个页面,算是大功告成了
这里分享一下几个比较杂的知识点
1.查看jenkins的状态或者启动停止重启的命令 还可以这样写
启动:systemctl start jenkins
停止:systemctl stop jenkins
重启:systemctl restart jenkins
状态:systemctl status jenkins
2.官网上有一套安装jenkins的方法和步骤,虽然官网都是最新的和标准的,但结合自己的系统环境等因素可能也会碰到许多问题,大家可以一试
https://www.jenkins.io/doc/book/installing/linux/#red-hat-centos
进来之后点击下图所示
执行如下的命令,(有些就是上述所用到的),这边就自行探索去吧
3.若想卸载jenkins,怎么卸载清除干净,或者以前安装失败了想清理干净重新安装
1).卸载jenkins 执行 rpm -e jenkins
检查是否卸载成功 执行 rpm -ql jenkins
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的更多相关文章
- Kibana在Linux上安装部署及使用说明
Kibana安装及使用说明 Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索.查看交互存储在Elasticsearch索引中的数据. 官方地址:https://www. ...
- Kafka在Linux上安装部署及样例测试
Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了 ...
- ElasticSearch在linux上安装部署(转)
一.安装准备工作安装参考文档: ELK官网:https://www.elastic.co/ ELK官网文档:https://www.elastic.co/guide/index.html ELK中文手 ...
- 【mail邮件系统】linux上安装部署sendmail邮件系统
sendmail是linux系统中一个邮箱系统,在系统中配置好sendmail就可以直接使用它来发送邮箱.sendmail的配置文件 /etc/mail/sendmail.cf :Sendmail的主 ...
- linux 上安装部署python
一般在linux中使用python 需要安装pyenv 进行版本控制 因为linux6.9自带的Python是2.6的 同时很多命令都是基于2.6开发的 所以系统环境不能改 我们要开发 只能用pyen ...
- Logstash在Linux上安装部署
Logstash 简介: Logstash 是一个实时数据收集引擎,可收集各类型数据并对其进行分析,过滤和归纳.按照自己条件分析过滤出符合数据导入到可视化界面.它可以实现多样化的数据源数据全量或增量传 ...
- linux上安装配置samba服务器
linux上安装配置samba服务器 在linux上安装配置samba服务器 在这给大家介绍一个不错的家伙,samba服务.如果您正在犯愁,如何在Windows和Linux之间实现资源共享,就请看看这 ...
- Node.js~在linux上的部署~pm2管理工具的使用
之前写了两篇关于在linux上部署nodejs的文章,大家如果没有基础可以先看前两篇<Node.js~在linux上的部署>,<Node.js~在linux上的部署~外网不能访问no ...
- 在linux上安装dotnetcore
dotnet core已经出来有一段时间了,不是什么新名词了.但这个技术,目前还是比较新的,企业也没有普遍应用.它最大的亮点就是跨平台,也就是我们写的c#代码,可以运行在linux上. 在国内学习do ...
随机推荐
- 「CTSC2010」产品销售
「CTSC2010」产品销售 30pts的费用流都会吧... 100pts只要模拟费用流就行了,是不是很简单呀( 咕咕咕 令\(M_i\)表示\(i-1\to i\)的正向边,\(M_i^{'}\)表 ...
- eclipse的web项目导入IDE报错
问题:eclipse的web项目导入IDE报错 第一个问题: 解决:点击enable即可 第二个问题: 解决: 解决方法: 切换文件的编码 : from UTF-8 to GBK to UTF-8 参 ...
- errorC2471:cannot update program database vc90.pdb
解决办法: C/C++ | General | Debug Information format | C7 Compatible (/Z7) C/C++ | Code Generation | Ena ...
- jdk1.5新特性之-----自动装箱与自动拆箱
import java.util.ArrayList; /* jdk1.5新特性之-----自动装箱与自动拆箱. java是面向对象 的语言,任何事物都可以使用类进行描述,sun就使用了 一些类描述j ...
- ELK 日志分析系统概述及部署
ELK 日志分析系统概述及部署 1.ELK概述: ELK简介 : ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch.Logstash 和 Kiabana 三个开源工具配合使用 ...
- ElasticSearch 基本介绍和读写搜索过程
cluster 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的.es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部 ...
- VScode git无法使用,Error: command 'git.push' not found 源代码管理无法使用的问题及解决方法
正常条件下,只要电脑中安装了Git,VScode就可以直接使用. 在开始界面有下图所示的功能: 在源代码管理栏目中: 如果没能正常工作,就看不到这些功能. 可能在用某些与git相关的功能时,如安装了G ...
- 我们一起来学Shell - shell的数组
文章目录 什么是数组 数组中常用变量 数组的定义 小括号定义数组变量 小括号加键值对定义数组变量 分别定义数组变量 动态地定义数组变量 数组赋值的切片 遍历数组 关联数组 我们一起来学Shell - ...
- Centos下Ambari2.7.5的编译和安装
前言 终于,要开始写点大数据相关的文章了.当真的要开始写老本行的时候,还是考虑了挺久的.一是不知道从何处写起,二是如何能写点有意思的. 我们常说,过程比结果重要.也是有很多人喜欢准备完全之后,才会开始 ...
- python中随机生成整数
1 #可以多运行几次,看看结果是不是随机生成的~ 2 3 import random 4 #调用random模块,与 5 a = random.randint(1,100) 6 # 随机生成1-100 ...