南飓风 发表于 2024-7-17 10:00:18

史上最全从0到1搭建最新版本jenkins可连续集成,整合git和maven部署微服务

好文推荐:
netty搭建websocket集群(高性能.,高并发)
springboot 实现延时队列(超级实用)
2.5万字讲解DDD领域驱动计划(史上最全DDD)


https://img-blog.csdnimg.cn/direct/7b7d9e6b964d4cc88b63b9f9a35c5a06.png
1. 前言

1.1 背景

传统的软件开发在体系上线的时间需要手动进行,这个过程大概相对繁琐和容易堕落,发布过程如下:

[*]代码构建:开发职员在本地情况中编写代码,并手动进行代码编译、打包等操作,生成可实行的软件包大概部署文件,比如jar包大概war包。
[*]手动集成和测试:开发职员需要手动将代码变更集成到主干代码库中,并在集成后手动运行测试来确保代码的质量和稳固性。
[*]手动部署:一旦代码通过了测试,开发职员大概需要手动将软件部署到目的情况中,比如测试情况、预发布情况大概生产情况。
[*]手动备份:发布前,开发职员需要手动备份汗青版本,假如出现问题,大概需要回滚到之前的稳固版本。
这种手动的发布过程存在以下问题:

[*]容易堕落:人为操作容易出现错误,比如遗漏某个步骤大概设置错误,导致发布失败大概软件出现问题。
[*]耗时耗力:手动操作需要耗费大量的时间和人力资源,尤其是在大型项目大概频繁发布的情况下。
[*]不可追溯:手动操作缺乏可追溯性,难以记录和回顾发布过程中的细节和问题,影响后续的改进和优化。
[*]因此,随着连续集成和连续交付的理念的兴起,Jenkins 等连续集成工具的出现弥补了这一空缺,帮助团队实现了自动化的构建、集成、测试和部署,进步了发布的服从和质量。
1.2 jenkins是什么

Jenkins是一个开源的自动化服务器,用于自动化不同任务的构建、测试和部署。它最初是Hudson项目的一个分支,但随着时间的推移已经发展成为一个独立的项目。
Jenkins的主要功能包括:

[*]连续集成/连续交付(CI/CD):Jenkins是一个流行的CI/CD工具,可以自动实行代码构建、测试和部署的工作流程。通过Jenkins,团队可以快速、频繁地发布软件。
[*]可扩展性:Jenkins具有丰富的插件生态体系,提供了各种各样的插件,涵盖了几乎全部领域,包括版本控制、构建工具、部署工具、关照等。这使得Jenkins可以或许满足不同团队的需求,并支持各种不同的工作流程。
[*]易用性:Jenkins提供了直观的用户界面,使得用户可以轻松地设置和管理各种构建任务和工作流程。它还支持基于Web的设置,使得用户可以通过欣赏器轻松地访问和管理Jenkins实例。
[*]分布式构建:Jenkins支持在多台盘算机上实行构建任务,这样可以更快地完成大型项目的构建过程。它还支持在不同操作体系和情况中运行构建任务。
[*]日记和报告:Jenkins会生成详细的构建日记和报告,包括每个构建的输出、测试效果、代码覆盖率等信息,帮助团队跟踪和分析构建过程中的问题。
总的来说,Jenkins是一个功能强大、灵活且易于使用的自动化工具,可以或许帮助团队实现连续集成、连续交付,并进步软件交付的质量和服从。
2. 安装 jdk11 & jdk8

前言:
jdk8是项目使用的,需要设置为情况变量
jdk11只是运行jenkins的,无需设置情况变量
2.1 下载jdk安装包

前提需要登录oracle账户
下载jdk11安装包
下载jdk8安装包
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f7c7700e03d34b8989b715473114edfe.pnghttps://img-blog.csdnimg.cn/direct/61b3313e084348f09d04a2bbe66fa496.png
2.2 解压安装包

tar -zxvf jdk-8u401-linux-x64.tar.gz
tar -zxvf jdk-11.0.22_linux-x64_bin.tar.gz

2.3 将java8设置成情况变量

①修改设置文件
sudo vim /etc/profile


②在最后添加内容:
export JAVA_HOME=/usr/local/java/jdk1.8.0_351
export JRE_HOME=${JAVA_HOME}/jre   
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib   
export PATH=${JAVA_HOME}/bin:$PATH
③革新设置文件
source /etc/profile


④检测是否设置成功
java -version
2. 安装jenkins并启动

2.1 下载jenkins的war包,安装最新版本即可

下载jenkins
https://img-blog.csdnimg.cn/direct/9a1e15cf33f84c329c86a9cb31615cd8.png
2.2 使用jdk11启动jenkins

指定jenkins的家:-DJENKINS_HOME=/wdy/jenkins
/home/java/jdk-11.0.22/bin/java -DJENKINS_HOME=/wdy/jenkins -jar /home/jenkins/jenkins.war >> /wdy/jenkins.log
后台启动下令:
nohup /home/java/jdk-11.0.22/bin/java -DJENKINS_HOME=/wdy/jenkins -jar /home/jenkins/jenkins.war >> /wdy/jenkins.log
2>&1 & 2.3 防火墙开放端口

否则本地访问8080,访问不通
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
2.4 访问jenkins

访问服务器地点:http://192.168.0.132:8080
https://img-blog.csdnimg.cn/direct/8fcee9fef0174e54a954a369a7cfab24.png
2.5 输入管理员密码

查看管理员
cat /wdy/jenkins/secrets/initialAdminPassword
https://img-blog.csdnimg.cn/direct/00e77c0d8d95490f9a00e67a21bc9e7c.png
将密码复制到jenkins,点击右下角继续
2.6 点击安装推荐的插件

然后等一会jenkins正在下载安装
https://img-blog.csdnimg.cn/direct/0e667e6cb2d24f23b90372a740c69a46.png
2.7 创建管理员用户

https://img-blog.csdnimg.cn/direct/a2dc235c26cf495eb16f28d90b86828f.png
https://img-blog.csdnimg.cn/direct/f32e5d8710ac44c5951743dadd2e1561.png
2.8 点击开始使用

https://img-blog.csdnimg.cn/direct/8e5c409653694b619adaab45babb197a.png
https://img-blog.csdnimg.cn/direct/cd22bc86fe2440e795ed8c0cf93f289e.png
5. 安装git

5.1 下载git安装包

wget https://www.kernel.org/pub/software/scm/git/git-2.14.0.tar.gz
5.2 解压git安装包

tar -zxvf git-2.14.0.tar.gz
5.3 编译安装git

cd git-2.14.0
./configure --prefix=/usr/local/git all
make && make install
假如编译失败的话,先实行下面这两句,安装一下git需要的依靠
yum install curl-devel expat-devel openssl-devel zlib-devel gcc-c++
yum install perl-ExtUtils-MakeMaker automake autoconf libtool make
5.4 设置情况变量

①打开设置文件
vim /etc/profile
②设置git路径
export GIT_HOME=/usr/local/git
export PATH=$GIT_HOME/bin:$PATH
③革新设置文件
source /etc/profile


5.4 git是否安装成功

git --version
https://img-blog.csdnimg.cn/direct/61aca7cbb9da4406bfd5a802aeb1ca6e.png
6. 安装maven

6.1 下载maven安装包

下载maven
https://img-blog.csdnimg.cn/direct/5833d4be2f7848c391de39d68ccc2793.png
6.2 安装maven

tar -zxvf apache-maven-3.9.6-bin.tar.gz
6.3 设置maven的本地仓库

vim /usr/maven/apache-maven-3.9.6/conf/settings.xml

将本地仓库设置加入到如图为止
/usr/maven/repository
https://img-blog.csdnimg.cn/direct/81c0fd53f217420dbc39c1f20e9f5693.png
然后保存退出
6.4 设置maven阿里云镜像

vim /usr/maven/apache-maven-3.9.6/conf/settings.xml

<mirrors>
    <!--阿里镜像的配置-->
       <mirror>
   <id>nexus-aliyun</id>
   <mirrorOf>central</mirrorOf>
   <name>Nexus aliyun</name>
   <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
</mirrors>
加入如图位置
https://img-blog.csdnimg.cn/direct/462ef16ca4524381a31f57069590433b.png
然后保存退出
6.5 设置maven情况变量

①编辑设置文件
sudo vim /etc/profile


②设置mven体系变量
# maven environment
export M2_HOME=/usr/maven/apache-maven-3.9.6
export CLASSPATH=$CLASSPATH:$M2_HOME/lib
export PATH=$PATH:$M2_HOME/bin
③革新体系设置
source /etc/profile


6.6 验证maven设置成功

mvn -v
https://img-blog.csdnimg.cn/direct/b023377c72254a60aefb333b956cdb0d.png
7. 安装jenkins插件

Dashboard --> Manage Jenkins --> Plugins --> Available -->plugins
然后搜索插件
https://img-blog.csdnimg.cn/direct/9556dd9b8b0d411a823027dcdb883e05.png
等候jenkins下载,显示如下安装成功
https://img-blog.csdnimg.cn/direct/6eb38e2a346d468fa741d3ff015a71dd.png
推荐的安装的插件如下:
Git
SSH
Git Parameter
Maven Integration
Publish Over SSH
Email Extension Plugin
8. 设置jenkins

Dashboard --> Manage Jenkins --> Tools
8.1 设置jdk

https://img-blog.csdnimg.cn/direct/cfff3c599db74150be5aa93b87008a30.png
8.1 设置git

https://img-blog.csdnimg.cn/direct/4d020036d65941b998162938c6c6e7ca.png
8.1 设置maven

https://img-blog.csdnimg.cn/direct/7d6823c01b294585b595adbdf71c9f93.png
9. 设置一个job

Dashboard --> 新加Item
9.1 新建Item

https://img-blog.csdnimg.cn/direct/4d0f79e38f834128ac7799d1e143a955.png
9.2 设置git账号和密码

点击添加 —> jenkins
https://img-blog.csdnimg.cn/direct/4dde156651ec44a9b455441e341014c1.png
弹出凭据,填写git用户名和密码
https://img-blog.csdnimg.cn/direct/c5c4d83e705e41a197f64afc75c8ab44.png
9.3 设置git

https://img-blog.csdnimg.cn/direct/359f6037d8604ee39bd4540deb23b4f4.png
9.3 设置maven

clean package -Dmaven.test.skip=true
https://img-blog.csdnimg.cn/direct/3a10a3d2f042470bb402b2efa66b8d22.png
10. 编写启动脚本

基于jenkins的微服务无感发版脚本,可联系小编获取!!!
ps -fe|grep hello-jenkins-0.0.1-SNAPSHOT.jar|grep -v grep|awk '{print $2}'|xargs -i kill -9 {}
#告诉jenkins 不要把nohup这个命令杀死
BUILD_ID=dontKillMe
nohup java -jar /wdy/jenkins/workspace/hello-jenkins/target/hello-jenkins-0.0.1-SNAPSHOT.jar >> ./hello-jenkins.log 2>&1 &
https://img-blog.csdnimg.cn/direct/c8fd3c5c3df44626b3908abed6f0c227.png
11. 发版

https://img-blog.csdnimg.cn/direct/d0a7cbe675ae44268c737fa95be1dc1b.png
12. 总结

有小伙伴遇到部署jenkins什么问题,可以加群讨论!!!
假如看到这里,说明你喜欢这篇文章,请关注和点赞小编。关注【微信公众号微信】搜索【老板再来一杯时光】复兴【进群】即可进入无广告交换群!
好文推荐:
netty搭建websocket集群(高性能.,高并发)
springboot 实现延时队列(超级实用)
2.5万字讲解DDD领域驱动计划(史上最全DDD)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 史上最全从0到1搭建最新版本jenkins可连续集成,整合git和maven部署微服务