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

打印 上一主题 下一主题

主题 517|帖子 517|积分 1551

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

  

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.png

2.2 解压安装包

  1. tar -zxvf jdk-8u401-linux-x64.tar.gz
  2. tar -zxvf jdk-11.0.22_linux-x64_bin.tar.gz
复制代码
2.3 将java8设置成情况变量

①修改设置文件
  1. sudo vim /etc/profile
复制代码
②在最后添加内容:
  1. export JAVA_HOME=/usr/local/java/jdk1.8.0_351
  2. export JRE_HOME=${JAVA_HOME}/jre   
  3. export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib   
  4. export PATH=${JAVA_HOME}/bin:$PATH
复制代码
③革新设置文件
  1. source /etc/profile
复制代码
④检测是否设置成功
  1. java -version
复制代码
2. 安装jenkins并启动

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

下载jenkins

2.2 使用jdk11启动jenkins

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

否则本地访问8080,访问不通
  1. firewall-cmd --zone=public --add-port=8080/tcp --permanent
  2. firewall-cmd --reload
复制代码
2.4 访问jenkins

访问服务器地点:http://192.168.0.132:8080

2.5 输入管理员密码

查看管理员
  1. cat /wdy/jenkins/secrets/initialAdminPassword
复制代码

将密码复制到jenkins,点击右下角继续
2.6 点击安装推荐的插件

然后等一会jenkins正在下载安装

2.7 创建管理员用户



2.8 点击开始使用



5. 安装git

5.1 下载git安装包

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

  1. tar -zxvf git-2.14.0.tar.gz
复制代码
5.3 编译安装git

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

①打开设置文件
  1. vim /etc/profile
复制代码
②设置git路径
  1. export GIT_HOME=/usr/local/git
  2. export PATH=$GIT_HOME/bin:$PATH
复制代码
③革新设置文件
  1. source /etc/profile
复制代码
5.4 git是否安装成功

  1. git --version
复制代码

6. 安装maven

6.1 下载maven安装包

下载maven

6.2 安装maven

  1. tar -zxvf apache-maven-3.9.6-bin.tar.gz
复制代码
6.3 设置maven的本地仓库

  1. vim /usr/maven/apache-maven-3.9.6/conf/settings.xml
复制代码
将本地仓库设置加入到如图为止
/usr/maven/repository

然后保存退出
6.4 设置maven阿里云镜像

  1. vim /usr/maven/apache-maven-3.9.6/conf/settings.xml
复制代码
  1. <mirrors>
  2.     <!--阿里镜像的配置-->
  3.          <mirror>
  4.      <id>nexus-aliyun</id>
  5.      <mirrorOf>central</mirrorOf>
  6.      <name>Nexus aliyun</name>
  7.      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
  8.     </mirror>
  9. </mirrors>
复制代码
加入如图位置

然后保存退出
6.5 设置maven情况变量

①编辑设置文件
  1. sudo vim /etc/profile
复制代码
②设置mven体系变量
  1. # maven environment
  2. export M2_HOME=/usr/maven/apache-maven-3.9.6
  3. export CLASSPATH=$CLASSPATH:$M2_HOME/lib
  4. export PATH=$PATH:$M2_HOME/bin
复制代码
③革新体系设置
  1. source /etc/profile
复制代码
6.6 验证maven设置成功

  1. mvn -v
复制代码

7. 安装jenkins插件

Dashboard --> Manage Jenkins --> Plugins --> Available -->plugins
然后搜索插件

等候jenkins下载,显示如下安装成功

推荐的安装的插件如下:
Git
SSH
Git Parameter
Maven Integration
Publish Over SSH
Email Extension Plugin
8. 设置jenkins

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


8.1 设置git


8.1 设置maven


9. 设置一个job

Dashboard --> 新加Item
9.1 新建Item


9.2 设置git账号和密码

点击添加 —> jenkins

弹出凭据,填写git用户名和密码

9.3 设置git


9.3 设置maven

clean package -Dmaven.test.skip=true

10. 编写启动脚本

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

11. 发版


12. 总结

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

南飓风

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表