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

您所在的位置:网站首页 自动化能做什么新项目 2021史上最强教你如何用Jenkins自动化部署项目(教程,从零到搭建完成)

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

2024-07-11 07:17| 来源: 网络整理| 查看: 265

在这里插入图片描述

系列文章目录

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

文章目录 系列文章目录Jenkins一 Jenkins 的介绍1.1 持续集成1.2 Jenkins 是什么?1.3 Jenkins 的特征1.4 Jenkins持续集成的过程 二 服务器环境的搭建2.1 服务器的购买2.2 运程控制软件2.3 Jdk的安装2.4 Svn仓库的安装2.5 Maven的安装2.6 Tomcat的安装2.7 Jenkins的安装 三 Jenkins+Svn+Maven的配置3.1 基本配置3.2 插件的安装3.3 基本过程3.4 基本信息配置3.5 源码配置3.6 触发器配置3.7 Pre Steps3.8 构建完成之后3.9 邮件通知3.10 构建

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 MB10 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 #增加仓库地址 /environment/maven/apache-maven-3.8.2/Repository #增加阿里云支持 alimaven central aliyun maven https://maven.aliyun.com/repository/central alimaven aliyun maven http://maven.aliyun.com/nexus/content/groups/public/ central 编辑环境依赖 # 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 启动 [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 插件的安装 插件一:Subversion Plug-in

在这里插入图片描述

插件二:Publish Over SSH

在这里插入图片描述

插件三:Maven Integration plugin

在这里插入图片描述

注意:重启服务 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 构建

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3