使用jekins自动构建部署java maven项目(jdk1.7+tomcat7.0+jenkins2.19.3)
1.下载jenkins
地址:https://jenkins.io/index.html
本人下载了2.19.3版本的war包:jenkins.war
2.安装jenkins
拷贝jenkins.war到tomcat的webapps文件夹下,如果tomcat是启动的,jenkins项目会自动解压启动的,如果tomcat是停止的,需要启动tomcat服务,进入bin文件夹,linux环境下执行 ./startup.sh即可启动服务,windows下双击startup.bat即可。
然后,访问地址:http://192.168.17.155:8080/jenkins ,具体ip为你部署的机器的ip, 看到如下界面,那么恭喜你,jenkins启动了。
为了安全,jenkins要求你填写初始化密码,密码在提示的文件里面,找到该文件,拷贝出密码,填写在下面的文本框中,点击Continue即可。(如果windows下,tomcat的控制台也能看到提示的密码,linux下查看tomcat的catalina.out这个日志文件中也能找到此密码。)
选择安装方式,选择第一种即可,点击一下,进入如下界面
各种插件安装完后,开始设置账户信息,以后用此账户登录jenkins
然后进入首页
3.安装插件
上述默认安装的插件还不够
依次点击 系统管理->插件管理-> 可选插件-> 过滤搜索框中 查找如下插件:
Maven Integration plugin
SSH plugin
Deploy to container Plugin
4.新建构建任务
找到代码管理的地方,如果是svn管理的,请选择Subversion,填入项目地址和账号信息,如果是git,填写git信息即可
构建触发器,去掉所有勾选,采用手动点击触发即可
上述信息提示配置一下maven的安装路径,我们照做即可,顺便配置好jdk路径
maven构建命令配置
部署配置
tomcat用户在conf/tomcat-user.xml里面配置即可,下面给出配置
<tomcat-users><role rolename="manager-gui" /><role rolename="manager-status" /><role rolename="manager-jmx" /><role rolename="manager-script"/><role rolename="admin-gui"/><role rolename="admin-script"/><user username="tomcat" password="tomcat" roles="manager-gui,manager-status,manager-jmx,manager-script,admin-gui,admin-script"/></tomcat-users>
保存配置
5.构建
点击导航jenkins -> My Views -> 点击study项目-> 立即构建
如果发现界面卡死,可能是jdk内存溢出,出现如下
设置一下tomcat的jdk参数即可
windows在catalina.bat 文件里添加如下参数(添加到文件开头):
set JAVA_OPTS=-server -XX:PermSize=512M -XX:MaxPermSize=2048M -Xms512M -Xmx2048M -XX:MaxNewSize=512M
linux在catalina.sh文件里添加如下参数(添加到文件开头):
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
是否添加成功,可以使用 jps -v 命令查看(windows和linux下均可)
重新启动tomcat,重新点击构建即可,在Console Output里可以看到整个构建的过程,出现如下图就表示整个构建部署成功了
6.附上shell脚步部署方式,更加灵活些(jenkins和服务器必须都是linux机器)
思路就是,执行远程脚本关闭tomcat,然后执行本地脚本拷贝文件到远程,再执行远程脚本启动tomcat服务。上述scp命令传输文件不用密码,必须配置一下ssh的密钥对,配置方式如下:
这里假设主机A(192.168.100.3)用来获到主机B(192.168.100.4)的文件。
在主机A上执行如下命令来生成配对密钥:
ssh-keygen -t rsa
遇到提示回车默认即可,公钥被存到用户目录下.ssh目录,比如root存放在:
/root/.ssh/id_rsa.pub
将 .ssh 目录中的 id_rsa.pub 文件复制到 主机B 的 ~/.ssh/ 目录中,并改名为 authorized_keys,
到主机A中执行命令和主机B建立信任,例(假设主机B的IP为:192.168.100.4):
scp ~/.ssh/id_rsa.pub 192.168.100.4:/root/.ssh/authorized_keys
下面就可以用scp、ssh命令不需要密码来获取主机B的文件了
ssh 192.168.100.4 回车就不需要密码了。
转载于:https://www.cnblogs.com/hdwang/p/6081994.html
使用jekins自动构建部署java maven项目(jdk1.7+tomcat7.0+jenkins2.19.3)相关推荐
- Jenkins自动构建部署项目
1. 楔子 在实际开发中,经常需要编译.静态代码检查.自动化测试.打包.部署.启动等一连串重复机械的动作,浪费时间.而且容易出错,而Jenkins就是专门Continuous integration( ...
- 云服务器 ECS 建站教程:手工部署Java Web项目
手工部署Java Web项目 Tomcat 一个开源的且免费的 Java Web 服务器,常用来作为 web 开发的工具.它可以托管由 servlet,JSP 页面(动态内容),HTML 页面,jav ...
- java 钉钉获取用户信息,JAVA maven项目如何使用钉钉SDK来获取token、用户
JAVA maven项目如何使用钉钉SDK来获取token.用户 发布时间:2020-07-17 10:52:32 来源:亿速云 阅读:102 作者:小猪 这篇文章主要为大家展示了JAVA maven ...
- 阿里云服务器部署Java Web项目全过程
最近需要将一个Java Web项目部署到服务器上,方便多人共享访问.这也是我第一次接触服务器之类的东西,也花了一点时间,最终总算部署成功. 购买服务器 第一步当然是需要购买一台服务器了,我选择的是阿里 ...
- java获取钉钉登录信息,JAVA maven项目使用钉钉SDK获取token、用户
本文介绍了JAVA maven项目使用钉钉SDK获取token.用户,分享给大家,具体如下: 将SDK放一个文件里,记住文件地址.D:eclipse-workspace项目名模块名lib win+r ...
- 运行java maven项目提醒 -SNAPSHOT.jar中没有主清单属性(maven项目指定主类)
运行java maven项目提醒 -SNAPSHOT.jar中没有主清单属性 问题描述 在运行使用maven打包的项目之后,运行项目发现主类没有找到.提示XXX–1.0-SNAPSHOT.jar中没有 ...
- 基于Docker里的运行的tomcat容器进行部署Java Web项目详解
引言:在centos-7环境装了docker后,通过docker创建一个tomcat容器,想部署Java web项目,结果就是找不到tomcat 容器的的webapps目录,导致部署不了项目,不过后来 ...
- 本篇文档介绍如何手动在ECS实例上部署Java web项目
本篇文档介绍如何手动在ECS实例上部署Java web项目.适用于刚开始使用阿里云进行建站的个人用户. 项目配置 { .section} 本篇教程在示例步骤中使用了以下版本的软件.操作时,请您以实际软 ...
- java mac jconsole_解决java maven项目找不到jconsole-1.8.0.jar和tools-1.8.0.jar包问题
今天遇到了这样一种情况,自己的maven项目中并没有引用的jar包出现在了Maven Dependencies的依赖包中.而我在pom.xml自己没有没有引入啊. 图示 怀疑是自己的alibaba 的 ...
- IDEA/Tomcat 原理:如何将 Tomcat 集成到 IDEA?实现由传统部署延伸到热部署 Java EE 项目?
文章目录 前言 一.将 Tomcat 集成到 IDEA 中 1.1.进入 IDEA Tomcat 配置页面 1.2.配置并集成 Tomcat 1.3.配置完成说明 1.4.集成检查 1.4.1.检查主 ...
最新文章
- SVN地址正确,能在网页打开,但是检出失败解决方法
- python过滤多个开头结尾
- Java实现定时调度的三种方法
- cv2.minAreaRect() 生成最小外接矩形
- 服务器的虚拟主机用途,服务器的虚拟主机用途
- 使用 postman 进行接口测试
- “驱动能力”是什么意思???
- python 循环语句结果存储_Hello,Python!小鲸教你学Python(八)条件语句和循环
- Android开发笔记(一百零四)消息推送SDK
- 最容易理解的handler
- 迄今以来在硅谷的最大押注:摩根大通雇超千人专注金融科技
- js-JavaScript常见的创建对象的几种方式
- 【论文】论文搜集+摘要翻译
- 用u盘给服务器装win7系统,用U盘装系统装Win7图文教程
- Python编写斗地主游戏(单机版)
- android外接手机模拟器,HBuilderX 连接网易mumu手机模拟器进行App开发
- 主播直播时如何选择合适的内容?如何打造主播人设?
- python数据统计分析
- RSA算法和DH算法的区别
- 【虚幻引擎】UE4/UE5 材质
热门文章
- 一个react项目案例01 组件部分
- 光纤传输与网络技术作业(第一部分)
- matlab 矩阵动态,matlab – 如何以块为单位动态重塑矩阵?
- 如何使用pyspark
- tensorflow2.0内存溢出解决办法
- 基于URL的轻量级恶意页面检测分类器
- dubbo service注解用法_dubbo学习(四)配置dubbo 注解方式配置
- 200000000021 键盘监听事件
- 为什么天才容易患阅读障碍症_王俊凯因“耳石症”缺席跨年晚会,这种病与熬夜玩手机有关?...
- java debug try catch 打印发生错误的代码的详细信息 代码行数