Jenkins部署详细教程

news/2024/5/2 2:01:26/文章来源:https://blog.csdn.net/weixin_53150440/article/details/127697205

Jenkins简介

Jenkins 是一个可扩展的持续集成引擎。是一个自成一体的开源自动化服务器, 可用于自动化与构建、测试、交付或部署软件相关的各种任务; Jenkins是一个高度可扩展的产品, 其功能可以通过安装插件来扩展。

在gitlab里可以完成源代码的管理,但是对于研发将代码推送到对应的分支,以及仓库里之后,它应该如何触动自动化的构建,打包,以及上线。这个就需要Jenkins去完成,在jenkins里的所完成的工作叫流水线工作。

在项目里完成的成品,就是将公司研发所写的代码上线到对应的生产服务器中,或者测试的服务器集群中,完成这一系列动作,都是在Jenkins里进行完成的,有一个单元叫job,使用单元job就可以完成在里面所要完成的一些代码下载等等一系列动作。

Jenkins部署

在正常的生产环境中,有主服务器,从服务器。

主服务器只负责将对应的任务调度(安排)到从服务器中进行运行,真正运行打包构建下载代码以及上线服务的是agent也就是从服务器在工作。

可以只部署一台jenkins,但是要完成操作的话,需要两台机器,可以把他们的配置调小一点,每台机器给两个G的空间应该就差不多够用,把它组建起来试一下,今后在去操作的时候,直接用主服务器去操作也可以,主服务器也可以工作,假设没有指定从服务器,主服务器也可以操作。

在正常的生产配置,Jenkins主服务器大概给到两核八G就够用。但正常情况下,Jenkins里由于是对于cpu网络的要求比较高,最好是8核8G或者16核64G。毕竟主服务负责调度任务,cpu吃的比较高,所以就8核8G,16核16G都可以。做实验2核8G.slave机器会运行相关的流水线任务,所以它对内存的要求高一些,对于cpu的要求最少是4核,内存最好给到16G,保持1:4的比列。自己做实验可以1核2G.2核4G.做实验耗费不了那么大的资源,但要保证它起来。

主服务器部署Jenkins

 

下图圆圈,LTS代表长期支持版本,一旦有bug,立马就会给更新。右边是开发版本,他不会给你更新,除非你主动更新。

 

 这种方式看着有点low,但是在企业用这种方式的话,升级非常方便,如果用war包再部署到tomcat里,这种升级方式,要是把war包替换成新版的war包,里面的插件还要重新下载一遍,里面的配置也要重新配置一遍,相当于从头再做一遍,所以不推荐用war包,war包在安装完成之后和yum安装完之后的效果是一模一样,没有任何区别,而且关于后续的升级也很麻烦。

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo  先下载证书

rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key  导入Jenkins安装仓库里所需要的一些验证的key

yum -y install fontconfig java-11-openjdk-devel  安装前置的配置,以及java jdk的环境,顺便安装devel

yum -y install jenkins   安装Jenkins

安装完毕Jenkins之后,要调一个地方

vim /usr/lib/systemd/system/jenkins.service  进入配置文件

 把超时时间改为900秒

systemctl enable --now jenkins   启动起来

如果启动报错,再接着起     是因为java的应用有一个特点,启动慢,有时候cpu,内存有阻塞,它就hang着,一直hang到超时时间才启动。它不是报错,是因为java程序启动的过程中对环境的要求比较高,仅限于java。写的好的程序不会有这种问题。
验证 去浏览器访问    ip:8080   

 能访问  返回装一个ngixn做反向代理,因为公司内部人员包括测试,研发,它们不会去加8080端口的,它们只会去输域名,所以要用nginx做解析,且给它做一个反向代理,代理过去。哪台机器都可以。

 装nginx

在Jenkins机器中装一个nginx

cd /etc/nginx/conf.d/

vim jenkins.ggjt.work.conf  写一个配置文件

去Jenkins的官网找

 

 

 上图右边就是nginx里要添的反向代理到Jenkins的配置。复制到配置文件。

 设置一下我要复制,set pase

 改ip,改域名

 nginx -t 检查一下语法

 nginx -s reload  重新加载一下配置

去域名的dns解析记录里,将域名解析到nginx服务上面,不是解析到Jenkins的机器,是解析到代理Jenkins的那台nginx机器的ip。

 然后去浏览器访问: jenkins.ggjt.work

但是提示不安全, 去申请证书。申请一个jenkins

 生成证书

[root@jenkins conf.d]# certbot certonly --manual --preferred-challenges dns -d jenkins.ggjt.work  生成密钥

[root@jenkins jenkins.gkjt.work]# mkdir /var/lib/jenkins/ssl/

[root@jenkins jenkins.gkjt.work]# mv fullchain1.pem  privkey1.pem /var/lib/jenkins/ssl/

去域名的dns解析记录里,解析证书。

nginx存放密钥的路径

   nginx -t 检查一下语法,没问题之后去 nginx -s reload ,然后去浏览器访问。

 

 

 

 

 

 这里就是不能用ip访问的原因,一旦设定改起来非常难。

 

 

 安装完毕。

【注意】少熬夜,多看书。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_412006.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[ACTF2020 新生赛]Exec1命令注入

1.来看题目如下 得到一个ping的输入框,老样子先检查网页源码看有没有什么好东西,得到一个链接,我们来访问一下 发现也没什么有用处的信息,于是看到题目的标题之后联想到了命令注入, 那么是怎么判断使用命令注入的呢&am…

MyBatis初步了解

1.Mybatis简介 1.1原始jdbc操作(查询数据) 1.2原始jdbc操作(插入数据) 1.3 原始jdbc操作的分析 原始jdbc开发存在的问题如下: ①数据库连接创建、释放频繁造成系统资源浪费从而影响系统性能 ②sql 语句在代码中硬编…

深入理解Java虚拟机:Java运行内存结构

本篇内容包括:JAVA 运行内存结构,即 程序计数器、Java 虚拟机栈、本地方法栈 、Java堆、方法区、运行时常量池 以及 直接内存等相关内容! 一、JAVA 运行内存结构 Jvm 执行 Java 程序时,会把它所管理的内存划分为若干个不同的数据…

软件设计与体系——创建型模式

如果有兴趣了解更多相关内容,欢迎来我的个人网站看看:瞳孔的个人空间 创建型模式: 创建型模式抽象了实例化过程帮助系统独立于如何创建、组合和表示对象 一个类创建型模式使用继承改变被实例化的类类创建型模式使用继承改变被实例化的类对象…

自学Python需要掌握哪些知识点?怎么学?

其实这个问题你可以转换一下思路,自学python有什么合适的学习路线,基本路线里涉及到的都是需要掌握的~ 单个知识点那罗列起来可是太多了~ 另外你可以考虑下你自学python的目的和方向,是单纯兴趣还是说要学了就业~ 想往人工智能方向发展还是P…

如何实现CAN/LIN通信路由测试?

目前车载网络通信越来越复杂,通信总线、协议多种多样,网关作为信息交互的载体,主要通过报文路由转发、报文过滤、信号重组等方式实现不同网段、不同协议间的信息交互;在复杂的车载网络中,网关通信路由转发功能具有非常…

软件设计师--数据结构考点细节总结

视频2022软件设计师-提炼高频考点-个人学习过程的总结,仅供参考!_哔哩哔哩_bilibili 目录 1,栈 2,二叉树 3,HUFFMAN 特点: 4,文件压缩比 5,拓扑排序 -- 有向无环图 6,查找 7…

CSDN编程竞赛第八期 | 参赛经历分享

参赛经历分享 一共参与七次了,这是我第二次在CSDN竞赛上获奖,上一次获奖是在第四期,获得了第三名,拿到了一个高级背包、一件T恤和一个获奖证书,我之前拍照发过动态的,详情请见:动态 - CSDN 然后…

机器视觉(三):摄像机标定技术

目录: 机器视觉(二):机器视觉硬件技术 机器视觉(三):摄像机标定技术 🌏🧐以下为正文🦄🪐 摄像机标定的目的:三维重建 空间物体表面…

FOTS:端到端的文本检测与识别方法的原理应用与优势

导言: 基于深度学习的可端到端训练的自然场景检测与识别算法(text spotting)由于其简洁高效且统一的结构,逐渐取代了过去将检测与识别分阶段训练然后拼接在一起的方案,成为自然场景文本检测与识别的主流研究方向之一。端到端自然场景文本检测…

rk3288-android8.1-OV13850

第一步,要到规格书,知道引脚定义 第二步,对应原理图定义 第三步 电源是打开的,如果是GPIO请设置 第四步,查看是否有驱动 out目录可以看到驱动 第五步,查看是否有以下文件

分组后再子集再查询

【问题】 有如下查询结果 从这里面查询每个产品 (ProductID) 具有某个(或同时具有某几个)属性 (即 AttID) 的产品数量,并按 ClassID 分组 如果只查询某个产品具有单个属性的话,可以用如下 SQL,如下面查询具有 AttID 为…

AI图像合成技术如何用于数字营销和创意领域?

全栈程序员推荐,AI好书必读 北大出版社,人工智能原理与实践 人工智能和数据科学从入门到精通 详解机器学习深度学习算法原理 人工智能原理与实践 全面涵盖人工智能和数据科学各个重要体系经典 “哇,你拍到的吗?等一下——那是专…

Ray 框架

一 Ray是什么,优势 Spark则是一个面向数据处理的产品,RDD则是以数据作为抽象对象的,你关心的应该是数据如何处理,而不是去如何拆解任务,关心资源如何被分配,这其中涉及的概念比如Job,Stage,task你最好都不…

1807521-02-3,PEP azide,PEP叠氮化物其中叠氮基发生点击反应

PEP azide叠氮基在铜存在下与炔烃反应,生成三唑,可作为多功能连接物。西安凯新生物科技有限公司​叠氮基可以通过点击化学与炔烃、BCN、DBCO反应,生成稳定的三唑键。末端羧酸在活化剂(如EDC或HATU)存在下可与伯胺基反应…

【数据结构与算法】详解归并

目录一、归并的定义及思路二、归并的代码实现一、归并的定义及思路 归并就是归并排序,将两个有序的或两个以上有序的数列合并成一个有序的数列 其基本思想是: 分而治之,与快排的分治是不同的,并归是以中间点分治。 其步骤为&#…

web自动化测试入门篇02——selenium安装教程

😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:【Austin_zhai】 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。…

查题校园题库

查题校园题库 本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 查题校园题库:查题校园题库后台(点击跳转&a…

视频去水印免费软件有哪些?快来收藏这三款实用工具

大家平时在追剧时,会提前下载视频再去观看吗?我就会这样做,因为有时候看着看着,就会出现网络卡顿的问题。不过下载后的视频经常会打上平台的水印,特别影响观感。因此很多小伙伴会去寻找去除视频水印的软件。今天正好做…

回溯算法题目

文章目录1.lc77 组合2.lc216 组合总和 III3.lc17 电话号码的字母组合4.lc39 组合总和5.lc40 组合总和 II6. lc131 分割回文串1.lc77 组合 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 https://leetcode.cn/p…