jenkins自动构建部署
环境 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自动构建部署的更多相关文章
- 使用Docker+Jenkins自动构建部署
环境 Windows 10 Docker Version 18.06.1-ce-win73 (19507) 运行jenkins 运行jenkins 容器 docker run -d --name ln ...
- 【转】使用Docker+Jenkins自动构建部署
转载自 https://segmentfault.com/a/1190000012921606 环境 阿里云ESC,宿主机服务器安装Docker,在安全规则中确认8080端口开启. 客户端mac 运行 ...
- Ant + Jenkies +Tomcat 自动构建部署Web项目
前言:博主资历尚浅,很多东西都还在刚起步学习的阶段,这几天开发任务比较轻,就在自己window系统下,模拟部署远程服务器,利用Jenkies + Ant + Tomcat 搭建了一个自动发布部署的环境 ...
- Gitlab使用Webhook实现Push代码后的jenkins自动构建
本文出自https://www.cnblogs.com/kevingrace/p/6479813.html 怕以后找不到,所以先写到自己博客中 Gitlab利用Webhook实现Push代码后的jen ...
- 实战:向GitHub提交代码时触发Jenkins自动构建
当我们提交代码到GitHub后,可以在Jenkins上执行构建,但是每次都要动手去执行略显麻烦,今天我们就来实战Jenkins的自动构建功能,每次提交代码到GitHub后,Jenkins会进行自动构建 ...
- 小伙伴想学Jenkins自动构建发布项目,我:安排上了!!
写在前面 趁着十一长假,很多小伙伴都在悄悄学习,有些是为了能够顺利通过面试,进入大厂升职加薪.有些则是为了进一步巩固和提高自己的专业技能,希望有朝一日能过成为互联网架构师乃至技术专家.这不,就有小伙伴 ...
- Gitlab源码库里代码提交后,如何触发jenkins自动构建?
版本库里代码提交后,如何触发jenkins自动构建?这是一个面试题,感觉自己回答的并不好,因为并没有用过这个功能,之前公司实际项目用的是svn版本管理,一般都用立刻构建,和定时任务构建(不管代码是否有 ...
- DEVOPS技术实践_02:jenkins自动构建项目
一.用户名密码错误 打开jenkins发现用户名密码错误,解决 1.1 找到config.xml文件 [root@jenkins-master ~]# ll -a drwxr-xr-x. root r ...
- 使用jenkins进行项目的自动构建部署
jenkins 简介 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:持续的软件版本发布/测试项目和监控外部调用执行的工作. 官网地址地址: https://je ...
随机推荐
- Java中list如何利用遍历进行删除操作
转: Java中list如何利用遍历进行删除操作 2018年03月31日 10:23:41 Little White_007 阅读数:3874 Java三种遍历如何进行list的便利删除: 1.f ...
- python---补充locals()变量在变量分发中的使用
在Django,tornado等框架中,变量分发渲染模板是一件再平常不过的事,但是当变量过多时,如何快速的进行变量传递 此时就可以用到locals()获取本地变量,将变量变为字典传入 def intr ...
- Spark记录-spark编程介绍
Spark核心编程 Spark 核心是整个项目的基础.它提供了分布式任务调度,调度和基本的 I/O 功能.Spark 使用一种称为RDD(弹性分布式数据集)一个专门的基础数据结构,是整个机器分区数据的 ...
- Linux通过ssh登录其他服务器,不用输入密码
有A(192.168.10.163)和B(192.168.10.164)两台服务器,为了使A服务器通过SSH连接B服务器时,免密登录,做以下操作. 1. 登录A(192.168.10.163)服务器( ...
- poj 3686 Priest John's Busiest Day
http://poj.org/problem?id=3683 2-sat 问题判定,输出一组可行解 http://www.cnblogs.com/TheRoadToTheGold/p/8436948. ...
- html5 canvas 奇怪的形状垂直渐变
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- es6笔记(2) let 和 const
let命令 用来声明一个变量,和var非常类似 1.使用let声明的变量,所声明的变量只在命令所在的代码块中有效 { let a = 1; console.log(a); // 这里是可以使用的 } ...
- Codeforces 238 div2 B. Domino Effect
题目链接:http://codeforces.com/contest/405/problem/B 解题报告:一排n个的多米诺骨牌,规定,若从一边推的话多米诺骨牌会一直倒,但是如果从两个方向同时往中间推 ...
- RPC笔记之初探RPC:DIY简单RPC框架
一.什么是RPC RPC(Remote Procedure Call)即远程过程调用,简单的说就是在A机器上去调用B机器上的某个方法,在分布式系统中极其常用. rpc原理其实很简单,比较容易理解,在r ...
- BAT脚本加防火墙455端口
@echo off mode con: cols=85 lines=30 :NSFOCUSXA title WannaCry勒索病毒安全加固工具 color 0A cls echo. echo. ec ...