环境 centos7   tomcat8.5.37   maven3.3.9   jdk8   git1.8.3.1

安装jdk,tomcat,maven,git(环境变量,配置文件什么的自行百度)

部署jenkins(下载jenkins.war扔进tomcat即可,如果报错了就将war包解压一下再扔进去)

配置jenkins,插件管理,系统设置,全局工具设置,添加凭证等等

(注意要安装deploy to a container插件才能构建后自动部署)

下面就是重点了

构建规则

这里我选的是定时构建, H 1 * * *表示每天凌晨一点构建一次

部署(重点)

部署这块我踩了不少坑

需要注意的是:

tomcat默认不不允许远程访问的,所以需要先设置允许远程访问(jenkins里报401就是这个原因)

进入tomcat9091-2/webapps/host-manager/META-INF/context.xml   allow 修改为 allow="^.*$"

jenkins里需要的tomcat用户密码在conf/tomcat-users.xml里(jenkins里报403就是这个原因)

这整段改成

  <role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-status"/>
<user username="tomcat" password="123" roles="tomcat"/>
<user username="both" password="123" roles="tomcat,role1"/>
<user username="role1" password="123" roles="role1"/>
<user username="admin" password="123" roles="manager-gui,manager-script,manager-status"/>

需要注意的是,不管war包名是什么,只要contextPath里写的是“/”,部署在tomcat里的war包名都是ROOT.war(这点还是很好的,以前为了在浏览器里不带项目名直接访问,都是自己先删掉tomcat原来的ROOT.war然后把生成的ROOT.war在放进去)

另外网上说的项目名为ROOT.war会报错,我测了并没有报错。

还有一点,就是项目过大的问题。有这么几点建议

maven里的jar包最好不要让jenkins去下载,下载好了后放到maven仓库里去(否则容易断开连接或者内存溢出导致构建失败,为什么会内存溢出?反正我的阿里云2G内存不够用)

杀掉电脑里的一些其他进程

重启大法:重启tomcat——>重启系统

加内存(怎么加自行百度):jvm内存——>maven内存——>tomcat内存(防止项目过大无法上传)——>加电脑内存(终极解决方案哈哈)

jenkins自动构建部署的更多相关文章

  1. 使用Docker+Jenkins自动构建部署

    环境 Windows 10 Docker Version 18.06.1-ce-win73 (19507) 运行jenkins 运行jenkins 容器 docker run -d --name ln ...

  2. 【转】使用Docker+Jenkins自动构建部署

    转载自 https://segmentfault.com/a/1190000012921606 环境 阿里云ESC,宿主机服务器安装Docker,在安全规则中确认8080端口开启. 客户端mac 运行 ...

  3. Ant + Jenkies +Tomcat 自动构建部署Web项目

    前言:博主资历尚浅,很多东西都还在刚起步学习的阶段,这几天开发任务比较轻,就在自己window系统下,模拟部署远程服务器,利用Jenkies + Ant + Tomcat 搭建了一个自动发布部署的环境 ...

  4. Gitlab使用Webhook实现Push代码后的jenkins自动构建

    本文出自https://www.cnblogs.com/kevingrace/p/6479813.html 怕以后找不到,所以先写到自己博客中 Gitlab利用Webhook实现Push代码后的jen ...

  5. 实战:向GitHub提交代码时触发Jenkins自动构建

    当我们提交代码到GitHub后,可以在Jenkins上执行构建,但是每次都要动手去执行略显麻烦,今天我们就来实战Jenkins的自动构建功能,每次提交代码到GitHub后,Jenkins会进行自动构建 ...

  6. 小伙伴想学Jenkins自动构建发布项目,我:安排上了!!

    写在前面 趁着十一长假,很多小伙伴都在悄悄学习,有些是为了能够顺利通过面试,进入大厂升职加薪.有些则是为了进一步巩固和提高自己的专业技能,希望有朝一日能过成为互联网架构师乃至技术专家.这不,就有小伙伴 ...

  7. Gitlab源码库里代码提交后,如何触发jenkins自动构建?

    版本库里代码提交后,如何触发jenkins自动构建?这是一个面试题,感觉自己回答的并不好,因为并没有用过这个功能,之前公司实际项目用的是svn版本管理,一般都用立刻构建,和定时任务构建(不管代码是否有 ...

  8. DEVOPS技术实践_02:jenkins自动构建项目

    一.用户名密码错误 打开jenkins发现用户名密码错误,解决 1.1 找到config.xml文件 [root@jenkins-master ~]# ll -a drwxr-xr-x. root r ...

  9. 使用jenkins进行项目的自动构建部署

    jenkins 简介 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:持续的软件版本发布/测试项目和监控外部调用执行的工作. 官网地址地址: https://je ...

随机推荐

  1. maven pom 中的 build——resources 标签 mybatis加载mapper类及.xml文件

    转: maven 理解 2017年12月18日 15:34:31 feicongcong 阅读数:5658   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn ...

  2. sql数据库连接字符串在APP.config配置文件内的两种写法

    第一种方法 写法: <configuration> <appSettings> <add key="connectionstring" value=& ...

  3. 利用CSS3实现简书中点击“喜欢”时的动画

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. bzoj千题计划285:bzoj2555: SubString

    http://www.lydsy.com/JudgeOnline/problem.php?id=2555 后缀自动机,用LCT维护parent树 一个串的出现次数 = parent 树 上 其所在状态 ...

  5. 洛谷 P3994 高速公路

    https://www.luogu.org/problemnew/show/P3994 设dp[i] 表示第i个城市到根节点的最小花费 dp[i]=min{ (dis[i]-dis[j])*P[i]+ ...

  6. jdk1.8.0_45源码解读——HashSet的实现

    jdk1.8.0_45源码解读——HashSet的实现 一.HashSet概述 HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持.主要具有以下的特点: 不保证set的迭代顺 ...

  7. 从简单类型到复杂类型的参数传递用例,以及传递简单string类型的解决办法

    一,简单类型的传值   比如 public Users Get(int id) ,它可以使用两种方式获取:   api/default/5 $.get("/api/default" ...

  8. PHP复制文件夹及文件夹内的文件

    //1.取被复制的文件夹的名字://2.写出新的文件夹的名字://3.调用此函数,将旧.新文件夹名字作为参数传递://4.如需复制文件夹内的文件,第三个参数传1,否则传0: public functi ...

  9. bzoj3029 守卫者的挑战 (多维dp)

    题面: 打开了黑魔法师Vani的大门,队员们在迷宫般的路上漫无目的地搜寻着关押applepi的监狱的所在地.突然,眼前一道亮光闪过."我,Nizem,是黑魔法圣殿的守卫者.如果你能通过我的挑 ...

  10. Plus One & Plus One Linked List

    Given a non-negative number represented as an array of digits, plus one to the number. The digits ar ...