怎么在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的更多相关文章

  1. Kibana在Linux上安装部署及使用说明

    Kibana安装及使用说明 Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索.查看交互存储在Elasticsearch索引中的数据. 官方地址:https://www. ...

  2. Kafka在Linux上安装部署及样例测试

    Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了 ...

  3. ElasticSearch在linux上安装部署(转)

    一.安装准备工作安装参考文档: ELK官网:https://www.elastic.co/ ELK官网文档:https://www.elastic.co/guide/index.html ELK中文手 ...

  4. 【mail邮件系统】linux上安装部署sendmail邮件系统

    sendmail是linux系统中一个邮箱系统,在系统中配置好sendmail就可以直接使用它来发送邮箱.sendmail的配置文件 /etc/mail/sendmail.cf :Sendmail的主 ...

  5. linux 上安装部署python

    一般在linux中使用python 需要安装pyenv 进行版本控制 因为linux6.9自带的Python是2.6的 同时很多命令都是基于2.6开发的 所以系统环境不能改 我们要开发 只能用pyen ...

  6. Logstash在Linux上安装部署

    Logstash 简介: Logstash 是一个实时数据收集引擎,可收集各类型数据并对其进行分析,过滤和归纳.按照自己条件分析过滤出符合数据导入到可视化界面.它可以实现多样化的数据源数据全量或增量传 ...

  7. linux上安装配置samba服务器

    linux上安装配置samba服务器 在linux上安装配置samba服务器 在这给大家介绍一个不错的家伙,samba服务.如果您正在犯愁,如何在Windows和Linux之间实现资源共享,就请看看这 ...

  8. Node.js~在linux上的部署~pm2管理工具的使用

    之前写了两篇关于在linux上部署nodejs的文章,大家如果没有基础可以先看前两篇<Node.js~在linux上的部署>,<Node.js~在linux上的部署~外网不能访问no ...

  9. 在linux上安装dotnetcore

    dotnet core已经出来有一段时间了,不是什么新名词了.但这个技术,目前还是比较新的,企业也没有普遍应用.它最大的亮点就是跨平台,也就是我们写的c#代码,可以运行在linux上. 在国内学习do ...

随机推荐

  1. Linux配置zookeeper 和zookeeper简单介绍

    一.zookeeper介绍? 一.zookeeper 简单介绍? 1.什么是集群? // 很多台服务器保持连接通讯状态,并且所有的服务器做同一件事就称之为集群 2.什么是zookeeper? 注册中心 ...

  2. java中的泛型,简单介绍。 修饰方法的用法

    一.<R>  ( R  r ) 默认object  可以存所有类型.   R 这个是随便定义的大写字母,前后要保持一致性! package com.aaa.test; /* * 演示 泛型 ...

  3. Android 关于Intent的一些简略总结

    感谢大佬:https://www.jianshu.com/p/19147a69e970 Intent 常用构造方法: | 方法 | 描述 | |Intent() | 构造一个空 Intent | | ...

  4. sms短信网关对接

    因为工作的需求,需要对接短信网关,业务上就是一个注册用户时,需要发送手机验证码;可能别的公司都是使用第三方接口,但是大点的公司,为了安全,他们都有自己的短信消息中心(SMSC) 1.业务需求 - 1. ...

  5. C++实现对Json数据的友好处理

    背景 C/C++客户端需要接收和发送JSON格式的数据到后端以实现通讯和数据交互.C++没有现成的处理JSON格式数据的接口,直接引用第三方库还是避免不了拆解拼接.考虑到此项目将会有大量JSON数据需 ...

  6. WEB前端开发--1(Web前端开发综述)

    Web前端开发 Web--Web系统      前端--网页上为用户呈现的部分   开发--编写代码 1. 前端与后端 前端:网页上为用户呈现的部分 后端:与数据库进行交互,完成数据存取 2. 网站与 ...

  7. 基于SSM风格的Java源代码生成器

    一.序言 UCode Cms 是一款Maven版的Java源代码生成器,是快速构建项目的利器.代码生成器模块属于可拆卸模块,即按需引入.代码生成器生成SSM(Spring.SpringBoot.Myb ...

  8. [LeetCode]35.搜索插入位置(Java)

    原题地址: search-insert-position 题目描述: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 请必须使 ...

  9. [LeetCode]4.寻找两个正序数组的中位数(Java)

    原题地址: median-of-two-sorted-arrays 题目描述: 示例 1: 输入:nums1 = [1,3], nums2 = [2] 输出:2.00000 解释:合并数组 = [1, ...

  10. [LeetCode]LCP 06. 拿硬币

    桌上有 n 堆力扣币,每堆的数量保存在数组 coins 中.我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数. 示例 1: 输入:[4,2,1] 输出:4 解释:第一堆力扣 ...