当前位置:   article > 正文

史上最全从0到1搭建最新版本jenkins可持续集成,整合git和maven部署微服务自动构建发版,抓紧收藏起来吧!_jenkins搭建微服务

jenkins搭建微服务

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


在这里插入图片描述

1. 前言

1.1 背景

传统的软件开发在系统上线的时候需要手动进行,这个过程可能相对繁琐和容易出错,发布过程如下:

  1. 代码构建:开发人员在本地环境中编写代码,并手动进行代码编译、打包等操作,生成可执行的软件包或者部署文件,比如jar包或者war包。
  2. 手动集成和测试:开发人员需要手动将代码变更集成到主干代码库中,并在集成后手动运行测试来确保代码的质量和稳定性。
  3. 手动部署:一旦代码通过了测试,开发人员可能需要手动将软件部署到目标环境中,比如测试环境、预发布环境或者生产环境。
  4. 手动备份:发布前,开发人员需要手动备份历史版本,如果出现问题,可能需要回滚到之前的稳定版本。

这种手动的发布过程存在以下问题:

  1. 容易出错:人为操作容易出现错误,比如遗漏某个步骤或者配置错误,导致发布失败或者软件出现问题。
  2. 耗时耗力:手动操作需要花费大量的时间和人力资源,尤其是在大型项目或者频繁发布的情况下。
  3. 不可追溯:手动操作缺乏可追溯性,难以记录和回顾发布过程中的细节和问题,影响后续的改进和优化。
  4. 因此,随着持续集成和持续交付的理念的兴起,Jenkins 等持续集成工具的出现填补了这一空白,帮助团队实现了自动化的构建、集成、测试和部署,提高了发布的效率和质量。

1.2 jenkins是什么

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

Jenkins的主要功能包括:

  1. 持续集成/持续交付(CI/CD):Jenkins是一个流行的CI/CD工具,可以自动执行代码构建、测试和部署的工作流程。通过Jenkins,团队可以快速、频繁地发布软件。
  2. 可扩展性:Jenkins具有丰富的插件生态系统,提供了各种各样的插件,涵盖了几乎所有领域,包括版本控制、构建工具、部署工具、通知等。这使得Jenkins能够满足不同团队的需求,并支持各种不同的工作流程。
  3. 易用性:Jenkins提供了直观的用户界面,使得用户可以轻松地设置和管理各种构建任务和工作流程。它还支持基于Web的配置,使得用户可以通过浏览器轻松地访问和管理Jenkins实例。
  4. 分布式构建:Jenkins支持在多台计算机上执行构建任务,这样可以更快地完成大型项目的构建过程。它还支持在不同操作系统和环境中运行构建任务。
  5. 日志和报告:Jenkins会生成详细的构建日志和报告,包括每个构建的输出、测试结果、代码覆盖率等信息,帮助团队跟踪和分析构建过程中的问题。

总的来说,Jenkins是一个功能强大、灵活且易于使用的自动化工具,能够帮助团队实现持续集成、持续交付,并提高软件交付的质量和效率。

2. 安装 jdk11 & jdk8

前言:
jdk8是项目使用的,需要配置为环境变量
jdk11只是运行jenkins的,无需配置环境变量

2.1 下载jdk安装包

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

2.2 解压安装包

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

  • 1
  • 2
  • 3

2.3 将java8配置成环境变量

①修改配置文件

sudo vim /etc/profile
  • 1

②在最后添加内容:

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
  • 1
  • 2
  • 3
  • 4

③刷新配置文件

source /etc/profile
  • 1

④检测是否配置成功

java -version 
  • 1

2. 安装jenkins并启动

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

下载jenkins
在这里插入图片描述

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
  • 1

后台启动命令:

nohup /home/java/jdk-11.0.22/bin/java -DJENKINS_HOME=/wdy/jenkins -jar /home/jenkins/jenkins.war >> /wdy/jenkins.log 2>&1 &
  • 1

2.3 防火墙开放端口

否则本地访问8080,访问不通

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
  • 1
  • 2

2.4 访问jenkins

访问服务器地址:http://192.168.0.132:8080
在这里插入图片描述

2.5 输入管理员密码

查看管理员

cat /wdy/jenkins/secrets/initialAdminPassword
  • 1

在这里插入图片描述
将密码复制到jenkins,点击右下角继续

2.6 点击安装推荐的插件

然后等一会jenkins正在下载安装
在这里插入图片描述

2.7 创建管理员用户

在这里插入图片描述
在这里插入图片描述

2.8 点击开始使用

在这里插入图片描述
在这里插入图片描述

5. 安装git

5.1 下载git安装包

wget https://www.kernel.org/pub/software/scm/git/git-2.14.0.tar.gz
  • 1

5.2 解压git安装包

tar -zxvf git-2.14.0.tar.gz
  • 1

5.3 编译安装git

cd git-2.14.0
./configure --prefix=/usr/local/git all
make && make install
  • 1
  • 2
  • 3

如果编译失败的话,先执行下面这两句,安装一下git需要的依赖

yum install curl-devel expat-devel openssl-devel zlib-devel gcc-c++ 
yum install perl-ExtUtils-MakeMaker automake autoconf libtool make
  • 1
  • 2

5.4 配置环境变量

①打开配置文件

vim /etc/profile
  • 1

②配置git路径

export GIT_HOME=/usr/local/git
export PATH=$GIT_HOME/bin:$PATH
  • 1
  • 2

③刷新配置文件

source /etc/profile
  • 1

5.4 git是否安装成功

git --version
  • 1

在这里插入图片描述

6. 安装maven

6.1 下载maven安装包

下载maven
在这里插入图片描述

6.2 安装maven

tar -zxvf apache-maven-3.9.6-bin.tar.gz
  • 1

6.3 配置maven的本地仓库

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

将本地仓库配置加入到如图为止
/usr/maven/repository
在这里插入图片描述
然后保存退出

6.4 配置maven阿里云镜像

vim /usr/maven/apache-maven-3.9.6/conf/settings.xml
  • 1
<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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

加入如图位置
在这里插入图片描述
然后保存退出

6.5 配置maven环境变量

①编辑配置文件

sudo vim /etc/profile
  • 1

②配置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
  • 1
  • 2
  • 3
  • 4

③刷新系统配置

source /etc/profile
  • 1

6.6 验证maven配置成功

mvn -v
  • 1

在这里插入图片描述

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的微服务无感发版脚本,可联系小编获取!!!

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 &
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

11. 发版

在这里插入图片描述

12. 总结

有小伙伴遇到部署jenkins什么问题,可以加群讨论!!!

如果看到这里,说明你喜欢这篇文章,请关注和点赞小编。关注【微信公众号微信】搜索【老板再来一杯时光】回复【进群】即可进入无广告交流群!

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

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号