环境 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. Java中list如何利用遍历进行删除操作

    转: Java中list如何利用遍历进行删除操作 2018年03月31日 10:23:41 Little White_007 阅读数:3874   Java三种遍历如何进行list的便利删除: 1.f ...

  2. python---补充locals()变量在变量分发中的使用

    在Django,tornado等框架中,变量分发渲染模板是一件再平常不过的事,但是当变量过多时,如何快速的进行变量传递 此时就可以用到locals()获取本地变量,将变量变为字典传入 def intr ...

  3. Spark记录-spark编程介绍

    Spark核心编程 Spark 核心是整个项目的基础.它提供了分布式任务调度,调度和基本的 I/O 功能.Spark 使用一种称为RDD(弹性分布式数据集)一个专门的基础数据结构,是整个机器分区数据的 ...

  4. Linux通过ssh登录其他服务器,不用输入密码

    有A(192.168.10.163)和B(192.168.10.164)两台服务器,为了使A服务器通过SSH连接B服务器时,免密登录,做以下操作. 1. 登录A(192.168.10.163)服务器( ...

  5. poj 3686 Priest John's Busiest Day

    http://poj.org/problem?id=3683 2-sat 问题判定,输出一组可行解 http://www.cnblogs.com/TheRoadToTheGold/p/8436948. ...

  6. html5 canvas 奇怪的形状垂直渐变

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. es6笔记(2) let 和 const

    let命令 用来声明一个变量,和var非常类似 1.使用let声明的变量,所声明的变量只在命令所在的代码块中有效 { let a = 1; console.log(a); // 这里是可以使用的 } ...

  8. Codeforces 238 div2 B. Domino Effect

    题目链接:http://codeforces.com/contest/405/problem/B 解题报告:一排n个的多米诺骨牌,规定,若从一边推的话多米诺骨牌会一直倒,但是如果从两个方向同时往中间推 ...

  9. RPC笔记之初探RPC:DIY简单RPC框架

    一.什么是RPC RPC(Remote Procedure Call)即远程过程调用,简单的说就是在A机器上去调用B机器上的某个方法,在分布式系统中极其常用. rpc原理其实很简单,比较容易理解,在r ...

  10. BAT脚本加防火墙455端口

    @echo off mode con: cols=85 lines=30 :NSFOCUSXA title WannaCry勒索病毒安全加固工具 color 0A cls echo. echo. ec ...