怎么在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 ...
随机推荐
- java中的数据模型类
package com.aaa.zxf.ajax.test; import java.io.Serializable; /** * java中的继承. * * 一.数据模型类 * 数据模型类:用来存取 ...
- bom案例3-放大镜
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- JScrollPane 自动跟进 自动到滚动到最底部
感谢大佬:https://blog.csdn.net/csdn_lqr/article/details/51068423 注:以下方法为网上摘抄 1 . JTable( 放在JScrollPane中 ...
- curl 查看接口的网络分段响应时间
示例如下 curl -o /dev/null -s -w %{time_namelookup}::%{time_connect}::%{time_starttransfer}::%{time_tota ...
- 在linux下的mysql导入存储过程出现语法错误,需要在文件里加DELIMITER //
http://my.oschina.net/zerotime/blog/113126 Mysql命令行创建存储过程时,首先要输入分隔符 DELIMITER // CREATE PROCEDURE pr ...
- Zookeeper、Kafka集群与Filebeat+Kafka+ELK架构
Zookeeper.Kafka集群与Filebeat+Kafka+ELK架构 目录 Zookeeper.Kafka集群与Filebeat+Kafka+ELK架构 一.Zookeeper 1. Zook ...
- HTML与HTTP协议
HTML与HTTP协议 目录 HTML与HTTP协议 一.HTML 1. HTML概述 2. HTML编辑 3. HTML语法规则 4. HTML文件结构 5. HTML基本标签 (1)头标签中常用标 ...
- Python将py文件编译为exe的方法
使用PyCharm工具写好的Python程序脚本,怎么将.py文件编译为可执行的.exe文件 前提是已经安装了Python环境. 第一步:在PyCharm内下载安装pyinstalle库或使用CMD安 ...
- 虫师Selenium2+Python_7、unittest单元测试框架
P173--通过unittest单元测试框架别写测试用例 from calculator import Count import unittest class TestCount(unittest ...
- Python基础—文件操作(Day8)
一.文件操作参数 1.文件路径 1)绝对路径:从根目录开始一级一级查找直到找到文件. f=open('e:\文件操作笔记.txt',encoding='utf-8',mode='r') content ...