jenkins git maven tomat 项目拉取编译自动部署(操作详细)
文章目录
- 1、项目说明
- 2、tomcat 配置
- (1)tomcat-users.xml 配置用户
- (2)context.xml 去掉访问限制
- (3)解决 war包过大无法上传
- (4)访问host-manager报403错误
- 3、Jenkins 插件安装
- 1)主要插件说明
- 2)Maven Integration plugin
- 3)Git plugin
- 4)Publish Over SSH:
- 5)Deploy to container:
- 4、Jenkins 配置
- 1)Maven 配置
- 2)JDK
- 3)Git
- 4)Maven
- 5、Jenkins 创建任务
- 1)任务名称
- 2)描述
- 3)源码管理(Git)
- 4)构建触发器(可选)
- (1)`Build periodically` (定时构建)
- (2)`Poll SCM` (轮询scm)
- (3)`Build after other projects are built` (其他工程构建后触发)
- (4)`GitHub hook trigger for GITScm polling` (github 上代码有变动时构建)
- 5)构建
- 6)构建后操作
- 6、测试
- 执行任务
- 查看日志
1、项目说明
项目是 SpringBoot ,源代码从 git 获取,使用 maven 编译和 打包为War包,Jenkins 自动部署到远程的 tomcat。
2、tomcat 配置
(1)tomcat-users.xml 配置用户
apache-tomcat-8.5.56\conf\tomcat-users.xml
<role rolename="manager-gui"/>
<user username="jenkins" password="jenkins123" roles="manager-gui"/>
完整配置如下:
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="jenkins" password="jenkins123"roles="admin-gui,manager-gui,manager-script,manager-jmx,manager-status"/>
用户名是 jenkins,密码是 jenkins123 ,按需自定义。
检查tomcat 配置情况,登录 http://127.0.0.1:8080
,如下图所示。
输入用户名和密码,
进入应用管理页面,如上所示。
(2)context.xml 去掉访问限制
apache-tomcat-8.5.56\webapps\manager\META-INF\context.xml 中注释掉配置
<!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->
或者,将 allow的值修改为
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1"
修改为
allow="^.*$"
(3)解决 war包过大无法上传
apache-tomcat-8.5.56/webapps/manager/WEB-INF/web.xml
<multipart-config><!-- 500MB max --><max-file-size>524288000</max-file-size><max-request-size>524288000</max-request-size><file-size-threshold>0</file-size-threshold>
</multipart-config>
(4)访问host-manager报403错误
apache-tomcat-8.5.56/webapps/host-manager/META-INF/context.xml
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1"
修改为
allow="^.*$"
3、Jenkins 插件安装
1)主要插件说明
项目是 SpringBoot ,源代码从 git 获取,使用 maven 编译和 打包为War包,自动部署到远程的 tomcat,所涉及到的 Jenkins插件如下。
插件 | 名称 |
---|---|
Maven Integration plugin | Maven集成插件 |
Git plugin | Git插件 |
Publish Over SSH | SSH推送插件 |
Deploy to container | 应用服务器推送插件 |
2)Maven Integration plugin
3)Git plugin
4)Publish Over SSH:
5)Deploy to container:
4、Jenkins 配置
1)Maven 配置
win10 上 Maven 全局配置。
C:\Users\admin\.m2\settings.xml
将 Maven 的 settings.xml
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"><localRepository>D:/dev_tools/maven_repo/repository/</localRepository><mirrors><mirror><id>alimaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/repositories/central/</url></mirror><mirror><id>mvnrepository</id><mirrorOf>mvnrepository</mirrorOf><url>http://mvnrepository.com/</url></mirror><mirror><id>aliyunMaven</id><mirrorOf>central</mirrorOf><name>aliyunMaven</name><url>http://maven.aliyun.com/nexus/content/groups/public</url></mirror><mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><url>https://maven.aliyun.com/repository/public</url></mirror><mirror><id>aliyunmaven-spring</id><mirrorOf>*</mirrorOf><url>https://maven.aliyun.com/repository/spring/</url></mirror><mirror><id>tencentyun</id><mirrorOf>*</mirrorOf><name>tencentyun</name><url>http://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url></mirror><mirror><id>clojars.org</id><mirrorOf>*</mirrorOf><url>http://clojars.org/repo</url></mirror></mirrors><profiles><profile><id>development</id><activation><jdk>1.8</jdk><activeByDefault>true</activeByDefault></activation><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion></properties></profile></profiles></settings>
2)JDK
3)Git
4)Maven
5、Jenkins 创建任务
1)任务名称
2)描述
3)源码管理(Git)
(1)Repository URL(Git的仓库地址)
http://127.0.0.1:8550/devall/lost_customer_repair.git
(2)Credentials(凭证)
首先要凭证,凭证的种类很多,我选择是用户名和密码。
(3)填写完成后存在,源码管理的配置如下图所示。
4)构建触发器(可选)
此项是可选项。
构建触发器是指在满足某些情况下,触发某个条能,能够自动进行项目构建。
Build after other projects are built
(其他工程构建后触发)Build periodically
(定时构建)GitHub hook trigger for GITScm polling
(github 上代码有变动时构建)Poll SCM
(轮询scm)
Jenkins 任务配置完成后,通过两种方式执行,一种是在任务列表中手动执行,另一种就是在此处配置触发器(或定时器),满足条件后自动执行。
(1)Build periodically
(定时构建)
Build periodically
类似于Spring的 cron表达式、 quartz 定时框架 。
Build periodically 配置如下:* * * * *
(五颗星,中间用空格隔开)
定时字符串从左往右依次是: 分 时 日 月 周 (有点想cron表达式)第一颗*表示分钟,取值0~59
第二颗*表示小时,取值0~23
第三颗*表示一个月的第几天,取值1~31
第四颗*表示第几月,取值1~12
第五颗*表示一周中的第几天,取值0~7,其中0和7代表的都是周日1.每30分钟构建一次:
H/30 * * * *2.每2个小时构建一次
H H/2 * * *3.每天早上8点构建一次
0 8 * * *4.每天的8点,12点,22点,一天构建3次
0 8,12,22 * * *(多个时间点,中间用逗号隔开)5.问题来了:每个月的1-7号一天构建一次咋写呢?
请在屏幕下方写出你的答案,写对有奖励!
(2)Poll SCM
(轮询scm)
轮询scm,是指定时扫描本地代码仓库的代码是否发生变更,如果代码有变化那么就会触发构建行为
比如,每隔30分钟检查一次源码变化,(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作。
注意:这个触发器,Jenkins会定时扫描本地整个项目的代码,增大系统的开销,不建议使用
(3)Build after other projects are built
(其他工程构建后触发)
有时候我们构建需要在其他项目构建完毕之后才能去构建,那么就可以采用这种方式。
举个案例场景,比如我下面Job1是web项目打包并发布的构建任务,我想每次打完包发布后,然后触发自动化测试Job2的构建。
这里可以输入多个依赖的jobs,多个job中间用逗号隔开。启动第一个Job完成后,就能接着启动第二个Job。
注:Build periodically
和 Poll SCM
两者是可以结合起来使用的。
(4)GitHub hook trigger for GITScm polling
(github 上代码有变动时构建)
管理 github 上代码有变动时构建。
最后这2个一般用的也少,了解下就行。
5)构建
本项目采用 Maven进行项目管理,故此处选择 Invoke top-level Maven targets
。
Maven版本:
选择之前已经配置的 maven3.5.4
目标的配置如下:
clean install
Maven完整配置如下图所示:
6)构建后操作
在上一步中,使用:Maven完整的项目的编译和打包,接下来就是将war包部署到tomcat中, 故选择 Deploy war/ear to a container
。
Jenkins 凭据提供者(添加用户名和密码)
在tomcat配置中,创建的管理员用的用户名和密码如下
用户名是 jenkins
密码是 jenkins123
Tomcat URL:
http://localhost:8080/manager/text
构建后操作的完整配置如下:
6、测试
执行任务
点击Build Now
或者 右侧的三角按钮。
查看日志
在 控制台输出 中查看日志,如下图。
jenkins git maven tomat 项目拉取编译自动部署(操作详细)相关推荐
- jenkins+git+maven搭建项目自动化持续集成
2019独角兽企业重金招聘Python工程师标准>>> 1.概要说明 为了开发人员和测试人员的解耦,让开发和测试流程更加便捷,所以采用jenkins+git+maven这套可持续性集 ...
- Git 切换分支,拉取分支代码指令操作
git命令切换分支_ZHL's Blog-CSDN博客_git切换分支 git命令切换分支 https://www.jianshu.com/p/856ce249ed78 Git如何拉取指定远程分支 ...
- 从maven私服(nexus)拉取jar文件,解析项目pom依赖信息
一.前言 关于pom解析的方式,常见的我认为有两种: 一种是利用dom tree的结构特性,利用dom4j提供的xml解析工具将pom文件读取为dom tree结构,再层层解析出内容. 第二种方式更为 ...
- 利用git从gitblit上拉取项目到本地
利用git从gitblit上拉取项目到本地 一.准备工作 二.将gitblit上项目拉到本地 一.准备工作 下载安装git,这里不做过多的赘述 可以参考https://blog.csdn.net/ju ...
- Git使用命令行拉取项目、提交代码
一.拉取项目 1.打开GitHub,选择项目,复制项目地址 2.在电脑上新建一个项目文件夹,在文件夹里点击右键-->Git Bash Here,打开Git命令行 3.输入git clone + ...
- jenkins 安装及配置部署操作 (jenkins+svn+tomcat and jenkins+git+maven+tomcat)
jenkins 安装及配置部署操作 jenkins+svn+tomcat and jenkins+git+maven+tomcat jenkins rpm软件包下载地址: https://pkg.je ...
- Jenkins + Git + Maven + tomcat集成环境搭建
折腾了好几天,终于把Jenkins + Git + Maven + tomcat集成环境搭建起来了,最终主要实现"自动构建.部署"web应用. 1.安装环境 操作系统:Centos ...
- 远程GitHub中的项目拉取到本地
需求:远程GitHub中的项目拉取到本地: 有2种方式: 第1种:直接下载到本地: 第2种(建议使用): 通过git工具,进行远程拉取代码,前提已安装了git 项目代码地址: git@github.c ...
- 微信开发者小程序项目拉取与推送
首先有微信开发者工具 有微信代码管理的账号 如果是云开发确认管理员已添加过云开发权限 目录 一.项目拉取 二.项目推送 一.项目拉取 1.点击版本管理,没有 git仓库创建一个 2.去项目中复制url ...
最新文章
- [OpenJudge] 百练2754 八皇后
- tomcat苹果版安装步骤_mac系统安装apache tomcat配置方法图文详解
- 集群管理工具KafkaAdminClient——改造
- java数据源是什么_《java数据源—连接池》
- React开发(255):react项目理解 ant design 注意报错提示
- dom4j的读写xml文件,读写xml字符串
- mysql操作语句(简单笔记)
- php下标排序,php二维数组指定下标排序
- 阿里云张建锋:数字技术要服务好实体经济
- 产品经理学习——Axure常用快捷键
- 层次分析法步骤及源代码
- 首次使用计算机鼠标键盘不能用,电脑鼠标键盘都不能用如何解决 开机后鼠标键盘不能用怎么办...
- linaro 网站资源
- 什么是promise?
- 什么是智能制造成能力成熟度模型?
- 是选择决定了你的一生,而不是努力
- python+selenium环境配置及浏览器调用
- 中介模式(python实现2)
- CodeForces - 1005A . Tanya and Stairways
- 【ROS2】【机器人导航navigation2】参数调整分析