linux部署Jenkins

news/2024/11/26 5:32:43/

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

开发人员写好代码,想要代码上线必须要找运维人员,等待运维部门上线,上线的概念就是将老的代码打包备份,删除 将新的代码上传。CICD环境可以将开发 集成 测试 部署合并一起,提高工作的效率

Jenkins 是一个用 Java 编写的开源的持续集成工具。在与 Oracle 发生争执后,项目从 Hudson 项目独立。

JenKins是一个高度集成化的工具,底层是由Java编写,先安装JDK才可以安装JenKins;
  可以将JenKins运行在Tomcat环境中也可以独立安装

官方网站:https://jenkins.io/

Jenkins 提供了软件开发的持续集成服务。它运行在 Servlet 容器中(Tomcat)。它支持软件配置管理(SCM)工具(包括 AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase 和RTC),可以执行基于Apache Ant和Apache Maven的项目,以及任意的Shell脚本和Windows 批处理命令。Jenkins 的主要开发者是川口耕介。Jenkins 是在 MIT 许可证下发布的自由软件。
  Jenkins的官网提供 Jenkins.war放在tomcat的webapps目录下会自动解压,会生成一个jenkins的目录。
  Jenkins也提供rpm格式的软件包
  Jenkins 能实时监控持续集成过程中所存在的问题,提供详细的日志文件和提醒功能, 还能用图表的形式,形象地展示项目构建的趋势和稳定性。

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

Maven介绍
  Maven 项目对象模型(POM)是可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。
  Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。
  由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

Maven 这个单词来自于意第绪语(犹太语),意为知识的积累,最初在 Jakata Turbine 项目中用来简化构建过程。当时有一些项目(有各自 Ant build 文件),仅有细微的差别, 而 JAR 文件都由 CVS 来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享 JARs。
  Maven是一个Java的代码构建打包的工具,如果是Java类的项目就必须要用到Maven。

部署Jenkins
环境配置:

#关闭防火墙
systemctl stop firewalld
#关闭沙盒
setenforce 0
#下载需要的命令
yum -y install lrzsz unzip

jdk安装可以参考Linux下安装jdk
Jenkins安装:
jenkins直接在官网下载最新的war包
官网war包下载地址:https://mirrors.jenkins-ci.org/war/
可选择下载任意版本包,我是选择的最新版本的包2.346.1

#下载完成之后上传到服务器中;
#在/usr/local目录下创建一个jenkins目录
mkdir /usr/local/software/jenkins
#将上传的包移动到/usr/local/jenkins目录
mv jenkins.war /usr/local/software/jenkins

完成之后可以手动直接启动,也可以写个脚本启动
手动启动:
–httpPort指定访问端口

java -jar jenkins.war --httpPort=8080 --enable-future-java & 

手动启动每次启动会有点麻烦;推荐使用脚本启动;

vim start.sh#!/bin/bashnohup java -jar /usr/local/software/jenkins/jenkins.war --httpPort=8080 --enable-future-java > ./nohup.out &

顺便写了个关闭Jenkins脚本;

vim stop.sh#!/bin/bash
echo "查询进程ID"
pid=`ps -ef | grep jenkins | awk '{print $2}'`
echo "得到进程ID: $pid"
echo "查询进程结束,开始结束进程..."
for id in $piddokill -9 $idecho "结束进程$id"done
echo "结束进程完成,开始启动项目..."

重启脚本

vim restart.sh#!/bin/bash
sh /usr/local/software/jenkins/stop.sh
echo "jenkins关闭成功"
sleep 3;
sh /usr/local/software/jenkins/start.sh
echo "jenkins启动成功"
echo "---------------------------"
echo "jenkins重启成功"

页面访问操作
启动完成之后,页面访问;ip:端口
端口可自行设置
在这里插入图片描述
输入管理员密码;管理员密码在xshell中启动的时候看;
在这里插入图片描述
完成之后点击继续即可;
到这个页面选择安装推荐的插件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意下面还有一个邮箱,填完保存并完成即可;
在这里插入图片描述
这个就不用看了,直接继续保存并完成;
在这里插入图片描述
已就绪,直接开始使用;
在这里插入图片描述
看到这个界面就已经进入了;
在这里插入图片描述
如果需要更新最新版本,可以点击图片上的位置更新即可;也可以下载最新的war包;下载这块是直接下载最新的war包;或自动升级会跳转直接升级
在这里插入图片描述
在这里插入图片描述
到此部署就完成了;


http://www.ppmy.cn/news/49701.html

相关文章

家用洗地机怎么选?2023高性价比家用洗地机推荐

相信大家和我一样是妥妥的“懒人一族”了,不喜欢做家务、不喜欢碰脏水、不喜欢花费过多的时间在家务上,但是却想有一个整洁干净的家居环境。而作为家务清洁中面积最大、耗时耗力最多的就是扫地拖地了。传统的地面清洁方式,要先用扫把扫一遍&a…

电磁阀“位”与“通”的详细解说(示意图)

电磁阀是用电磁控制的工业设备,是用来控制流体的自动化基础元件,属于执行器。 而气动电磁阀是其中的一种,是通过控制阀体的移动来档住或漏出不同的排油的孔,而进油孔是常开的,液压油就会进入不同的排油管,…

web模块_2(SQL注入,上传文件的权限获取)

1题目描述:你知道index.php的备份文件名吗? index.php的备份文件名为index.php.bak2题目描述 php中,双等号是弱类型比较。判断是否相等,不判断格式。 判断格式是否相等。“0a”0为True,“1235a"不算数字&#xf…

海斯坦普Gestamp EDI 需求分析

海斯坦普Gestamp(以下简称:Gestamp)是一家总部位于西班牙的全球性汽车零部件制造商,目前在全球23个国家拥有超过100家工厂。Gestamp的业务涵盖了车身、底盘和机电系统等多个领域,其产品范围包括钣金、车身结构件、车轮…

“开发人员必备技能:Python接口自动化测试全攻略“:了解接口测试的基础知识,并通过Python编写测试用例,提升自己的测试技能

目录 摘要 一、基础知识 二、工具选择 三、实现步骤 1.安装依赖库 2.编写测试用例 3.运行测试用例 4.查看测试结果 四、代码实现 总结 摘要 随着互联网行业的不断发展,越来越多的企业开始注重自动化测试的重要性。而在自动化测试中,接口自动化…

气象观测仪智能便携全自动

地面气象观测仪器是按照国际气象WMO组织气象观测标准,研究而开发生产的多要素自动观测站。可监测空气温度、空气湿度、风向、风速、气压、雨量、光照强度、总辐射等常规气象要素,可在无人值守的恶劣环境下全天候全自动正常运行。 产品特点 全自动&#x…

【Mybatis代码生成器Mybatis-Generator】

Mybatis代码生成器Mybatis-Generator 1. 引入插件2. 通过编码和配置文件运行3. 通过Maven插件运行4. XML配置文件详解contextjdbcConnectioncommentGeneratorjavaTypeResolverjavaModelGeneratorjavaClientGeneratorsqlMapGeneratorplugintable 5. 纯注解6. XML映射文件7. 编程…

NewBing 边栏快捷插件没有了!如何解决?如何脱离浏览器使用 New Bing?

作者:明明如月学长, CSDN 博客专家,蚂蚁集团高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《EffectiveJava》独家解析》专栏作者。 热门文章推荐…