好文推荐:
netty搭建websocket集群(高性能.,高并发)
springboot 实现延时队列(超级实用)
2.5万字讲解DDD领域驱动设计(史上最全DDD)文章来源地址https://www.toymoban.com/news/detail-849531.html
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安装包
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
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
2.5 输入管理员密码
查看管理员
cat /wdy/jenkins/secrets/initialAdminPassword
将密码复制到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
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
6. 安装maven
6.1 下载maven安装包
下载maven
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
然后保存退出
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>
加入如图位置
然后保存退出
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
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 &
11. 发版
12. 总结
有小伙伴遇到部署jenkins什么问题,可以加群讨论!!!
如果看到这里,说明你喜欢这篇文章,请关注和点赞小编。关注【微信公众号微信】搜索【老板再来一杯时光】回复【进群】即可进入无广告交流群!文章来源:https://www.toymoban.com/news/detail-849531.html
好文推荐:
netty搭建websocket集群(高性能.,高并发)
springboot 实现延时队列(超级实用)
2.5万字讲解DDD领域驱动设计(史上最全DDD)
到了这里,关于史上最全从0到1搭建最新版本jenkins可持续集成,整合git和maven部署微服务自动构建发版,抓紧收藏起来吧!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!