2021史上最强教你如何用Jenkins自动化部署项目(教程,从零到搭建完成)

在这里插入图片描述

系列文章目录

Java常用Linux命令集合
程序员入职必备技能 Oracle安装+局域网服务+内网穿透
2021史上最强教你如何用Jenkins自动化部署项目(教程,从零到搭建完成)
Window下的Jenkins实战,一学就会,一看就懂

Jenkins

一 Jenkins 的介绍

1.1 持续集成

持续集成( Continuous integration , 简称 CI )指的是,频繁地(一天多次)将代码集成到主干。 持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干 之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。

在这里插入图片描述

1.2 Jenkins 是什么?

官网:Jenkins

在这里插入图片描述

  • Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。

  • Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。

1.3 Jenkins 的特征

  • 开源的Java语言开发持续集成工具,支持持续集成,持续部署。
  • 易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可 方便web界面配置管理。
  • 消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生 成JUnit/TestNG测试报告。
  • 文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。 丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如git,svn,maven, docker等。

1.4 Jenkins持续集成的过程

在这里插入图片描述

二 服务器环境的搭建

2.1 服务器的购买

  • Jenkins机器要求:

    • 256 MB 内存,建议大于 512 MB
    • 10 GB 的硬盘空间(用于 Jenkins 和 Docker 镜像)
  • 需要安装以下软件:

    • Java 8 ( JRE或者``JDK `都可以)
    • Docker (导航到网站顶部的Get Docker链接以访问适合您平台的Docker下载)
  • 腾讯云服务器:https://console.cloud.tencent.com

在这里插入图片描述

  • 完成实名认证之后,才能进行免费体验,实验够了

在这里插入图片描述

  • 进入控制台

在这里插入图片描述

  • 等待加载完毕

在这里插入图片描述

  • 修改密码

在这里插入图片描述

到此服务器就已经好了

2.2 运程控制软件

网址:https://www.xshellcn.com/

  • 下载这两款软件安装

在这里插入图片描述

  • 服务器配置

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 配置成功

2.3 Jdk的安装

百度网盘:https://pan.baidu.com/s/1BtzPh6ZYW6i6PaS5M–Zrg xx7y

  • 上传服务器

在这里插入图片描述

  • xshell中安装
# 安装
[root@VM-4-10-centos jdk]# rpm -ivh jdk-8u131-linux-x64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:jdk1.8.0_131-2000:1.8.0_131-fcs  ################################# [100%]
Unpacking JAR files...
	tools.jar...
	plugin.jar...
	javaws.jar...
	deploy.jar...
	rt.jar...
	jsse.jar...
	charsets.jar...
	localedata.jar...
#检查	
[root@VM-4-10-centos jdk]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
[root@VM-4-10-centos jdk]# 
  • 配置环境变量
#编辑环境变量
[root@VM-4-10-centos /]# vim /etc/profile
#添加内容
JAVA_HOME=/usr/java/jdk1.8.0_131
JRE_HOME=/usr/java/jdk1.8.0_131/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
#生效
[root@VM-4-10-centos /]# source /etc/profile

2.4 Svn仓库的安装

  • 安装依赖
# yum install subversion 
  • 查看版本
# svnserve --version 
  • 创建仓库
# mkdir -p /home/svn/project   
  • 初始化项目
# svnadmin create /home/svn/project/
  • 配置conf
# vim svnserv.conf
[general]
anon-access = none     # 使非授权用户无法访问
auth-access = write    # 使授权用户有写权限
password-db = password   # 用户密码文件
authz-db = authz       # 访问控制文件
realm = /home/svn/project # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
# 采用默认配置,以上语句都必须顶格写,左侧不能留空格,否则会出错。
# vim passwd
[users]
# harry = harryssecret
# sally = sallyssecret
username = 123456
# vim authz
# 在末尾添加如下代码
[/]
username = rw 
# r:读,w:写
  • 启动(注意防火墙的打开:3690)
# svnserve -d -r /home/svn
  • 本地测试

在这里插入图片描述

  • 上传项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3s0I5F2G-1629357327365)(E:\学习笔记\运维开发\自动化部署\images\image-20210818172835471.png)]在这里插入图片描述

2.5 Maven的安装

  • 创建文件夹
# mkdir /environment/maven
# cd  /environment/maven
# mkdir Repository 仓库地址
  • 下载maven
# wget https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.8.2/binaries/apache-maven-3.8.2-bin.tar.gz
  • 解压
# tar -zxvf apache-maven-3.8.2-bin.tar.gz
  • ls
[root@shu maven]# ls
apache-maven-3.8.2  apache-maven-3.8.2-bin.tar.gz
[root@shu maven]# cd apache-maven-3.8.2/
[root@shu apache-maven-3.8.2]# ls
bin  boot  conf  lib  LICENSE  NOTICE  README.txt
[root@shu apache-maven-3.8.2]# cd conf
[root@shu conf]# ls
logging  settings.xml  toolchains.xml
  • 编辑配置文件
[root@shu conf]# vim settings.xml 
#增加仓库地址
<localRepository>/environment/maven/apache-maven-3.8.2/Repository</localRepository>
#增加阿里云支持
<mirror>
         <id>alimaven</id>
        <mirrorOf>central</mirrorOf>
        <name>aliyun maven</name>
        <url>https://maven.aliyun.com/repository/central</url>
</mirror>
<mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>
 </mirror>
  • 编辑环境依赖
# vim /ect/profile
#末尾增加
export MAVEN_HOME=/environment/maven/apache-maven-3.8.2
export PATH=$PATH:$MAVEN_HOME/bin
  • 生效验证
[root@shu conf]# source /etc/profile
[root@shu conf]# mvn -version
Apache Maven 3.8.2 (ea98e05a04480131370aa0c110b8c54cf726c06f)
Maven home: /environment/maven/apache-maven-3.8.2
Java version: 1.8.0_131, vendor: Oracle Corporation, runtime: /usr/java/jdk1.8.0_131/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.11.1.el7.x86_64", arch: "amd64", family: "unix"

配置成功

2.6 Tomcat的安装

  • 安装包下载
[root@shu tomcat]#  wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.8/bin/apache-tomcat-9.0.8.tar.gz
  • 解压
[root@shu tomcat]# ls
apache-tomcat-9.0.52.tar.gz
[root@shu tomcat]# tar -zxvf apache-tomcat-9.0.52.tar.gz
  • 修改端口号
[root@shu tomcat]# ls
apache-tomcat-9.0.52  apache-tomcat-9.0.52.tar.gz
[root@shu tomcat]# cd apache-tomcat-9.0.52/
[root@shu apache-tomcat-9.0.52]# ls
bin  BUILDING.txt  conf  CONTRIBUTING.md  lib  LICENSE  logs  NOTICE  README.md  RELEASE-NOTES  RUNNING.txt  temp  webapps  work
[root@shu apache-tomcat-9.0.52]# cd conf
[root@shu conf]# ls
catalina.policy  catalina.properties  context.xml  jaspic-providers.xml  jaspic-providers.xsd  logging.properties  server.xml  tomcat-users.xml  tomcat-users.xsd  web.xml
[root@shu conf]# vim server.xml
 <Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
  • 启动
[root@shu apache-tomcat-9.0.52]# cd bin
[root@shu bin]# ./startup.sh
Using CATALINA_BASE:   /environment/tomcat/apache-tomcat-9.0.52
Using CATALINA_HOME:   /environment/tomcat/apache-tomcat-9.0.52
Using CATALINA_TMPDIR: /environment/tomcat/apache-tomcat-9.0.52/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_131/jre
Using CLASSPATH:       /environment/tomcat/apache-tomcat-9.0.52/bin/bootstrap.jar:/environment/tomcat/apache-tomcat-9.0.52/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.

在这里插入图片描述

2.7 Jenkins的安装

  • 先建文件夹
# mkdir /environment/Jenkins
  • 安装包下载

链接:https://pan.baidu.com/s/1UAGTjC2Ksb2Sk_1x5ZWHOw 提取码:v2t5

  • 上传到该文件下
  • 安装
[root@shu Jenkins]# ls
jenkins-2.174-1.1.noarch.rpm
[root@shu Jenkins]# rpm -ivh jenkins-2.174-1.1.noarch.rpm
warning: jenkins-2.174-1.1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID d50582e6: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:jenkins-2.174-1.1                ################################# [100%]
  • 环境配置
[root@shu Jenkins]# whereis jenkins #实际安装位置
jenkins: /usr/lib/jenkins 
[root@shu /]# cd /usr/lib/jenkins
[root@shu jenkins]# ls
jenkins.war
[root@shu jenkins]# vim /etc/init.d/jenkins
#配置java路径
/usr/java/jdk1.8.0_131/bin/java
  • 启动
# sudo service jenkins start
# 如果失败:systemctl daemon-reload 再运行sudo service jenkins start
# 日志
vim /var/log/jenkins/jenkins.log
  • 访问(ip+端口)

在这里插入图片描述

  • 密码配置
#  vim /var/lib/jenkins/secrets/initialAdminPassword #密码

在这里插入图片描述

  • 更新(升级)

用新版本的war包替换这个路径下的war包

在这里插入图片描述

#完成重启
域名+端口/restart

安装完毕,到此基本的服务器环境搭建成功,下面该把他们联合起来配置

三 Jenkins+Svn+Maven的配置

3.1 基本配置

在这里插入图片描述

  • 用户注册

在这里插入图片描述

  • 增加用户

在这里插入图片描述

  • 工具配置

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 插件更新与汉化

插件管理:搜索Chinese

在这里插入图片描述

其他插件完成更新,重启生效

3.2 插件的安装

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 注意:重启服务

3.3 基本过程

在这里插入图片描述

  • 创建

在这里插入图片描述

  • 配置(SpringBoot项目jar)

还有一种方式是Tomcat+War包配置,这里我就不演示了,网上很多演示

3.4 基本信息配置

在这里插入图片描述

3.5 源码配置

Svn或Git,注意必须安装响应的插件,Svn上面的安装教程有详细解释

在这里插入图片描述

3.6 触发器配置

触发器就是一个条件执行器,满足了条件就执行,比如svn仓库更新,一天多久执行

在这里插入图片描述

环境构建:我来解释下吧:

提供一个管理文件,

在构建完成之前通过ssh发送文件

在构建完成之后通过ssh发送文件

在这里插入图片描述

3.7 Pre Steps

可以理解为调用maven的命令来打成jar包,这里提供的方式有很多

在这里插入图片描述

3.8 构建完成之后

可以理解为jar完成之后,执行的操作,当然是执行jar包 nohup java -jar jar包名 >temp.txt &

  • ssh连接配置

在这里插入图片描述

  • 执行配置

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

  • jar包查看linux(运行成功之后)

在这里插入图片描述

3.9 邮件通知

注意在系统配置中配置邮件地址

在这里插入图片描述

3.10 构建

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

大功告成,当然这只是基本使用,最重要的是构建流水线式的自动化部署,后面有空更新

Jenkins是一种用于自动化构建、测试和部署软件的开源工具。下面是一个简单的Jenkins自动化部署教程的步骤: 1. 安装Jenkins:首先,您需要在您的服务器上安装Jenkins。您可以从Jenkins官方网站下载适合您操作系统的安装包,并根据官方文档进行安装。 2. 配置Jenkins:一旦Jenkins安装完成,您可以通过在浏览器中输入服务器的IP地址和Jenkins的默认端口号(一般是8080)来访问Jenkins的Web界面。您需要按照屏幕上的指示完成初始化设置,包括创建管理员用户和选择插件。 3. 创建一个新的Jenkins任务:在Jenkins的主界面上,点击"New Item"创建一个新的任务。选择自由风格项目或者适合您需求的任务类型。在任务配置页面上,您需要指定代码仓库的URL、分支以及其他构建参数和触发条件。 4. 配置构建步骤:在任务配置页面的"Build"部分,您可以定义构建步骤。例如,您可以使用Shell脚本或者命令行工具执行构建、测试和打包操作。您还可以配置构建触发条件,例如定时触发、代码提交触发或者其他事件触发。 5. 配置部署步骤:一旦构建成功,您可以配置部署步骤。例如,您可以使用SSH插件将构建产物复制到远程服务器,或者使用Docker插件构建和部署Docker容器。您还可以配置部署触发条件,例如构建成功后自动部署或者手动触发部署。 6. 设置触发器:在任务配置页面的"Build Triggers"部分,您可以配置触发器来触发自动化部署。常见的触发器包括定时触发、代码提交触发和其他构建完成触发。 7. 保存并运行任务:完成任务配置后,点击"Save"保存任务配置。然后,您可以手动点击"Build Now"或者等待触发条件满足,自动触发构建和部署过程。 请注意,这只是一个简单的Jenkins自动化部署教程。实际情况可能因为项目的不同而有所不同。建议您参考Jenkins官方文档和其他教程来了解更多详细信息。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长安不及十里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值