小白到运维工程师自学之路 第七十八集 (安装Jenkins)

news2025/1/15 16:52:09

一、环境概述

        随着软件开发需求及复杂度的不断提高,团队开发成员之间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。Jenkins自动化部署可以解决集成、测试、部署等重复性的工作,工具集成的效率明显高于人工操作;并且持续集成可以更早的获取代码变更的信息,从而更早的进入测试阶段,更早的发现问题,这样解决问题的成本就会显著下降;持续集成缩短了从开发、集成、测试、部署各个环节的时间,从而也就缩短了中间出现的等待时间;持续集成也意味着开发、集成、测试、部署得以持续。所以,当配置完Jenkins 持续集成持续交付环境后,就可以把发布的任务交给集成服务器去打理了。使用 Maven(Ant) 等来实现 Java 项目自动化构建发布部署。这些工具可以帮助在构建过程中实现自动化发布、回滚等动作。

二、Jenkins简介

 

Jenkins是一个用Java编写的开源的持续集成工具。在与Oracle发生争执后,项目从Hudson项目独立。官方网站:https://jenkins.io/。

Jenkins提供了软件开发的持续集成服务。它运行在Servlet容器中(Tomcat)。它支持软件配置管理(SCM)工具(包括AccuRev SCM、CVS、SubversionGit、Perforce、Clearcase和RTC),可以执行基于Apache Ant和Apache Maven的项目,以及任意的Shell脚本和Windows批处理命令。Jenkins的主要开发者是川口耕介。Jenkins是在MIT许可证下发布的自由软件。

Jenkins 能实时监控持续集成过程中所存在的问题,提供详细的日志文件和提醒功能, 还能用图表的形式,形象地展示项目构建的趋势和稳定性。

Jenkins 包含以下几个特点:

  1. 易安装:仅仅一个 jenkins.war,从官网下载该文件后,直接运行,无需额外的安装,

更无需安装数据库;

  1. 易配置:提供友好的 GUI 配置界面;
  2. 变更支持:Jenkins 能从代码仓库(SVN /Git)中获取并产生代码更新列表,并输出到编译输出信息中;
  3. 支持永久链接:用户是通过 Web 来访问 Jenkins 的,而这些 Web 页面的链接地址都是永久链接地址,可以在各种文档中直接使用该链接;
  4. 集成 E-Mail/RSS/IM:当完成一次集成时,可通过这些工具实时收取集成结果(构建一次集成需要花费一定时间,有了这个功能,就可以在等待结果过程中,干别的事情);
  5. JUnit/TestNG 测试报告:也就是用以图表等形式提供详细的测试报表功能;
  6. 支持分布式构建:Jenkins 可以把集成构建等工作分发到多台计算机中完成;
  7. 文件指纹信息:Jenkins 会保存构建集成所产生的 jars 文件、集成构建使用了哪个版;
  8. 支持第三方插件:Jenkins 支持第三方插件,这使得 Jenkins 功能变得越来越强大。

三、持续集成

        持续集成(英语:Continuous integration,缩写为 CI),一种软件工程流程,将所有工程师对于软件的工作复本,每天集成数次到共用主线(mainline)上。

        这个名称最早由葛来迪·布区(Grady Booch)在他的布区方法中提出,但是他并没有提到要每天集成数次。之后成为极限编程(extreme programming,缩写为XP)的一部分。在测试驱动开发(TDD)的作法中,通常还会搭配自动单元测试。

        持续集成的提出,主要是为了解决软件进行系统集成时面临的各项问题,极限编程称这些问题为集成地狱(integration hell)。

 

 持续集成主要是强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。简单来讲就是:频繁地(一天多次)将代码集成到主干。

四、安装配置Jenkins

systemctl stop firewalld
iptables -F
setenforce 0

安装java
yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel

清华大学开源软件镜像站:Index of /jenkins/redhat/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 

这里下载最新的

yum -y install jenkins-2.419-1.1.noarch.rpm
jenkins start                        启动命令

这里需要再开一个终端,进行后续的操作

netstat -anptl

访问192.168.77.17

输入安装时提供的密码

等待安装插件

创建一个账户

 

 

 

 五、配置文件说明

grep "^[a-Z]" /usr/share/jenkins/migrate
set -e
die() {
usage() {
NEW_JAVA_OPTS_DEFAULT="-Djava.awt.headless=true"   
NEW_JENKINS_DEBUG_LEVEL_DEFAULT="5"
NEW_JENKINS_GROUP_DEFAULT="jenkins"
NEW_JENKINS_HOME_DEFAULT="/var/lib/jenkins"                   //工作目录
NEW_JENKINS_LOG_DEFAULT="/var/log/jenkins/jenkins.log"
NEW_JENKINS_MAXOPENFILES_DEFAULT="8192"
NEW_JENKINS_PORT_DEFAULT="8080"                               //端口
NEW_JENKINS_USER_DEFAULT="jenkins"                            //启动用户
NEW_JENKINS_WAR_DEFAULT="/usr/share/java/jenkins.war"
NEW_JENKINS_WEBROOT_DEFAULT="/var/cache/jenkins/war"
NEW_JAVA_HOME=""
NEW_JAVA_OPTS="${NEW_JAVA_OPTS_DEFAULT}"
NEW_JENKINS_DEBUG_LEVEL="${NEW_JENKINS_DEBUG_LEVEL_DEFAULT}"
NEW_JENKINS_ENABLE_ACCESS_LOG=false
NEW_JENKINS_GROUP="${NEW_JENKINS_GROUP_DEFAULT}"
NEW_JENKINS_HOME="${NEW_JENKINS_HOME_DEFAULT}"
NEW_JENKINS_HTTP2_LISTEN_ADDRESS=""
NEW_JENKINS_HTTP2_PORT=""
NEW_JENKINS_HTTPS_KEYSTORE=""
NEW_JENKINS_HTTPS_KEYSTORE_PASSWORD=""
NEW_JENKINS_HTTPS_LISTEN_ADDRESS=""
NEW_JENKINS_HTTPS_PORT=""
NEW_JENKINS_JAVA_CMD=""
NEW_JENKINS_LISTEN_ADDRESS=""
NEW_JENKINS_LOG="${NEW_JENKINS_LOG_DEFAULT}"
NEW_JENKINS_MAXOPENFILES="${NEW_JENKINS_MAXOPENFILES_DEFAULT}"
NEW_JENKINS_OPTS=""
NEW_JENKINS_PORT="${NEW_JENKINS_PORT_DEFAULT}"
NEW_JENKINS_PREFIX=""
NEW_JENKINS_UMASK=""
NEW_JENKINS_USER="${NEW_JENKINS_USER_DEFAULT}"
NEW_JENKINS_WAR="${NEW_JENKINS_WAR_DEFAULT}"
NEW_JENKINS_WEBROOT="${NEW_JENKINS_WEBROOT_DEFAULT}"
has_prefix=false
read_old_options() {
migrate_options() {
main() {
main "$1"
exit 0

以上就是jenkins的安装

如有错误欢迎各位大佬批评指正,我们共同进步

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【考研数学】解决求解微分方程时,常数的结合问题以及是否能直接去掉绝对值的讨论

文章目录 引言例子 1例子 2总结 引言 在微分方程,尤其是一阶线性微分方程的求解过程中,经常出现求 ∫ 1 x d x \int\frac{1}{x}dx ∫x1​dx 等原函数需要加绝对值的不定积分。如果放在不定积分里,肯定毫不犹豫会加上绝对值,也就…

OpenCV 中的色彩空间 (C++ / Python)

在本教程中,我们将了解计算机视觉中使用的流行色彩空间,并将其用于基于颜色的分割。我们还将分享 C++ 和 Python 的演示代码。

在Flutter应用内部实现分屏功能

前言 这一次被要求实现屏幕上同时展示两个页面,并且两个页面的逻辑,功能互不影响,通俗一点讲就是在Flutter内部实现一个类似于分屏的功能,这可难不倒我。 方法 要在 Flutter 中实现一个屏幕的上半部分和下半部分展示不同的页面…

【C++】C 语言 和 C++ 语言中 const 关键字分析 ② ( const 常量分配内存时机 | const 常量在编译阶段分配内存 )

文章目录 一、const 常量内存分配时机二、使用如下代码验证 const 常量内存分配时机三、分析验证结果 - const 常量在编译阶段分配内存 一、const 常量内存分配时机 在上一篇博客中 , 讲到了获取 const 常量的地址 , 代码如下 : // 定义常量// 该常量定义在了 符号表 中// 符号…

通过cpolar在外远程查看家里内网监控

通过cpolar在外远程查看家里内网监控 文章目录 通过cpolar在外远程查看家里内网监控前言1. 在cpolar官网预留一个空白隧道2. 完成空白数据隧道,生成地址3. 设置空白隧道的出口4. 空白数据隧道的出口设置5. 获取公网地址6. 打开本地电脑“远程桌面”7. 打开Windows自…

赶紧看看!这才是对制造业最大的优化

​随着全球商业环境的不断变化,资产管理系统在帮助企业实现精细化管理、提高效率和降低风险方面发挥着关键作用。 在这个数字化时代,资产管理系统不仅是一种管理工具,更是推动企业创新和增长的关键因素之一。通过充分利用这些系统&#xff0c…

【前端vue升级】vue2+js+elementUI升级为vue3+ts+elementUI plus

一、工具的选择 近期想将vuejselementUI的项目升级为vue3tselementUI plus,以获得更好的开发体验,并且vue3也显著提高了性能,所以在此记录一下升级的过程对于一个正在使用的项目手工替换肯定不是个可实现的解决方案,更优方案是基于…

提升研发效能的开发工具

一、前言 随着企业对创新和效率的追求不断升级,研发效能成为了炙手可热的概念。各大公司纷纷成立专门的团队,以提升研发效能为重要目标。本文将从研发人员的视角出发,结合自身的深度思考,探讨研发效能的相关概念,共同寻…

【MySQL系列】MySQL内置函数的学习

「前言」文章内容大致是对MySQL内置函数的学习。 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 一、MySQL的日期函数二、MySQL的字符串函数三、MySQL的数学函数四、 其它函数 一、MySQL的日期函数 常见的日期函数如下: 函数名称描述current…

Netty为什么高效,为什么这么受欢迎?

文章目录 前言Netty 解决的问题简化网络编程粘包和拆包 高性能的设计多线程调度零拷贝 总结 前言 上篇文章通过 Java NIO 的处理流程与 Netty 的总体流程比较,并结合 Netty 的源码,可以更加清晰地理解Netty。本文将结合源码详细解析Netty的高效和强大功…

MySQL 用户管理操作

目录 一、用户管理概述 二、用户管理 1、创建用户 2、删除用户 三、账户密码管理 1、root用户修改自己的密码 2、ROOT用户修改其他普通用户密码 3、普通用户修改自己的密码 4、ROOT用户密码忘记解决办法 1)Linux系统 2)windows系统 四、用户权…

中小学vr仿真教学课件综合管理平台拓宽了学生的视野

VR智慧教学平台可以为实践课程提供全方位的辅助,帮助学生更好地理解和掌握知识。本文将详细介绍VR智慧教学平台在实践课程中的作用。 一、提供沉浸式的学习体验 传统的实践课程往往需要学生亲自动手操作,但由于条件限制,很多学生无法获得实际…

【Linux命令行与Shell脚本编程】第二十章 sed进阶

Linux命令行与Shell脚本编程 第二十章 sed进阶 文章目录 Linux命令行与Shell脚本编程十.sed进阶10.1.多行命令(nNDP)10.1.1.next命令10.1.1.1.单行next命令n10.1.1.2.合并文本行N 10.1.2.多行删除命令D10.1.3.多行打印命令P 10.2.保留空间(hHgGx)10.3.排除命令(!)10.4.改变执行…

如何管理一个散漫的团队?

散漫的团队管理,是一个让人头疼的问题。团队成员缺乏积极性,工作效率低下,协作能力也不强,这样的团队很容易导致项目延误,影响整个团队的工作进展。那么,如何管理一个散漫的团队呢?接下来&#…

问道管理:环保板块走势强劲,启迪环境三连板,碧兴物联等涨停

环保板块21日盘中大幅走高,到发稿,碧兴物联、国泰环保、太和水、正和生态、启迪环境等涨停,钱江生化涨近9%。值得注意的是,启迪环境已连续3个交易日涨停, 音讯面上,近日国家发改委等部门联合发布《关于促进…

常见的网络设备有哪些?分别有什么作用?

个人主页:insist--个人主页​​​​​​ 本文专栏:网络基础——带你走进网络世界 本专栏会持续更新网络基础知识,希望大家多多支持,让我们一起探索这个神奇而广阔的网络世界。 目录 一、网络设备的概述 二、常见的网络设备 1、…

0009Java程序设计-jsp在线学习平台设计与实现

摘 要目 录系统实现开发环境 摘 要 在线学习平台,是一个利用因特网作为平台传送教学内容,实施网上教学,进行网上交流和学习的信息系统。构建在线学习系统平台,可以克服传统课堂教育的局限性,形成一种主动的、协作的、…

23种设计模式攻关

👍一、创建者模式 🔖1.1、单例模式 单例模式(Singleton Pattern),用于确保一个类只有一个实例,并提供全局访问点。 在某些情况下,我们需要确保一个类只能有一个实例,比如数据库连接…

[oneAPI] 基于BERT预训练模型的命名体识别任务

[oneAPI] 基于BERT预训练模型的命名体识别任务 Intel DevCloud for oneAPI 和 Intel Optimization for PyTorch基于BERT预训练模型的命名体识别任务语料介绍数据集构建使用示例 命名体识别模型前向传播模型训练 结果 参考资料 比赛:https://marketing.csdn.net/p/f3…

PyCharm PyQt5 开发环境搭建

环境 python:3.6.x PyCharm:PyCharm 2019.3.5 (Community Edition) 安装PyQT5 pip install PyQt5 -i https://pypi.douban.com/simplepip install PyQt5-tools -i https://pypi.douban.com/simple配置PyCharm PyQtUIC Program :D:\Pytho…