利用jenkins做项目的自动化部署
最近领导要求上海本地的项目需要使用进jenkins实现自动化部署,以便可以直接将项目移交给运维的同学,减轻开发的工作量。记录下这次爬坑的过程。
一、前言
Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:1、持续的软件版本发布/测试项目。2、监控外部调用执行的工作。
二、安装构建
1、下载jenkins
2、启动jenkins
采用1.2的的方式下载war包的话,其实有两种启动方式。
第一种,放到tomcat容器,
第二种,cmd进入安装目录,java -jar jenkins.war
3、安装jenkins
安装方式1.1和1.2 的流程是一样的
jenkins默认8080端口,可以修改,方法百度。
进入http://localhost:8080/。红色字体路径有密码,将密码填上,然后下一步。
选择插件,建议选择官方建议插件,避免很多麻烦。
等待安装中ing......
安装好后看到下图,用户名密码登陆用的,全名是用来显示的。继续下一步。
因为我要部署的是maven项目,jenkins默认的插件中是没有maven的,首先需要安装下。
点击下图插件直接安装就行了,maven integration plugins
安装热部署插件Deploy to container Plugin
4、配置jenkins
我们需要配下maven的setting文件,jdk以及maven地址,setting文件一定要配,不要用它默认的,撸主因为这个没配,出问题纠结好久。
最后Apply然后Save就行了,记得别忘了应用保存,不然白配了。
接着我们来新建一个项目,先输入项目名,选择maven项目,OK
选择源码管理,因为我们是企业项目,不是开源,使用的SVN,选择Subversion配置SVN
URL是你SVN地址,Credentials是账户密码
然后到Pre Steps,这个东西是打包前需要什么操作,比如我们现在的项目需要拷贝log4j.xml文件等等,根据环境可以写windows或者Shell脚本
没有操作的话,就不用配了
Build编译了,指定pom位置,以及mvn命令,对了高级里面还可以配置workspace,不配默认在jenkins安装目录中
构建后操作,就是包打好了放在哪。选择下图
本次构建后操作,使用的是tomcat的热部署,热部署可以参考我之前的文章:Tomcat7的热部署
5、开始构建
讲了那么多,终于到了最后了,一个按钮的操作终于到了,返回jenkins首页就可以看到我们的项目了。
构建后点击左下角构建执行状态中可以看到我们的项目在构建中。点击项目名进入
选择Console就能看到我们构建过程中打印出来的日志或者错误信息了。
三、存在的问题
jenkins角色问题,既然是发布就涉及到生产环境,不能所有用户都有部署生产环境的权限吧,如果谁不小心点了下。那后果.....不敢相信。
tomcat热部署的问题, deploy几次之后出现内存上涨溢出,停止运行或者报错的问题,网上查了下是热部署本身的问题,正在寻求解决办法ing.....。
利用jenkins做项目的自动化部署的更多相关文章
- Jenkins+SVN+Maven+shell 自动化部署实践
JAVA环境中利用Jenkins+svn+maven进行自动化部署实践 一. 前言2 1.介绍jenkins2 1.本地项目打包2 2.通过secureCRT工具,手动传输到服务器2 3.然后 ...
- 利用PowerShell+Jenkins,实现项目的自动化部署
当项目越来越庞大,部署环境越来越多以后,就会越来越依赖于自动化.比如本人公司的项目,目前有6个web和4个windows service,同时本地有两套环境:开发自测试环境和QA测试环境.每次版本发布 ...
- 利用Jenkins实现JavaWeb项目的自动化部署
修改代码,打包,上传,重启... 大把的时间花费在这些重复无味的工作上.笔者与当前主流的价值观保持一致:我们应该把时间花费在更有意义的事情上.我们可以尝试借助一些工具,让这些重复机械的工作交给计算机去 ...
- jenkins+git+maven搭建自动化部署项目环境
简介 折腾了两个晚上,趁着今晚比较有空,把jenkins+git+maven搭建自动化部署项目环境搭建的过程记录一下,这里我把github作为git的远程仓库(https://github.co ...
- 基于Jenkins,docker实现自动化部署(持续交互)
前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此 ...
- .NET持续集成与自动化部署之路第一篇——半天搭建你的Jenkins持续集成与自动化部署系统
.NET持续集成与自动化部署之路第一篇(半天搭建你的Jenkins持续集成与自动化部署系统) 前言 相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛 ...
- 基于Jenkins,docker实现自动化部署(持续交互)【转】
前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此 ...
- 5分钟快速掌握Jenkins,项目一键自动部署
5分钟快速掌握Jenkins,项目一键自动部署 目录 前言 Jenkins是什么? Jenkins环境安装搭建 Jenkins基本使用介绍 Jenkins快速构建项目,项目自动化部署 学习总结 前言 ...
- 使用Git实现Laravel项目的自动化部署
简介 不知道大家一开始是怎么使用 git 进行开发的,反正我个人是先将代码提交到 github 仓库,然后用 SSH 登录到服务器,然后进行克隆或者版本更新.听起来就很麻烦,当然实际操作中也很麻烦,那 ...
随机推荐
- Python日期时间的相关操作
1.获取当前时间戳 import time t=time.time() print t 1459994552.51 #以秒为单位的 2.格式化日期 time.localtime() 返回当前时间的: ...
- SQL语法考核
--继上一篇MySQL的开发总结之后,适当的练习还是很有必要的-- SQL语法多变,不敢保证唯一,也不敢保证全对,如果错误欢迎指出,即刻修改. 一.现有表结构如下图 TABLENAME:afinfo ...
- hdu1054 Strategic Game 树形DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1054 思路:树形DP,用二分匹配也能解决 定义dp[root][1],表示以root 为根结点的子树且 ...
- [刷题]算法竞赛入门经典 3-7/UVa1368 3-8/UVa202 3-9/UVa10340
书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 都是<算法竞赛入门经典(第二版)>的题目,标题上没写(第二版) 题目:算法竞赛入门经典 3-7/UVa13 ...
- VR全景加盟-了解VR就来全景智慧城市
关于什么是真正的VR说了这么多,面对刚刚起步的VR,如何辨别判断一个真正的VR形式呢.除了我们所说几个参数或者大家关注的眩晕感.临场感,真正的VR究竟带给大家什么样的特性呢?这个就要从VR的本质谈起. ...
- 使用r.js优化静态资源
r.js主要功能:优化项目的静态资源.可以简化压缩代码,减少体积.指定模块将多个组件合并为一个文件,减少HTTP请求数量.具体使用步骤如下: 先把 r.js 文件放到项目根目录,再于项目根目录内新建一 ...
- UICollection无法下拉刷新的问题
当UICollectonView加载的内容不够多的时候会出现无法上下拉刷新的问题,折腾了半天,原来是有一个属性没有打开 设置 : self.collectionView.alwaysBounceVer ...
- (基础篇 走进javaNIO)第一章-java的i/o演进之路
Java 是由 SUN公司在 1995 年首先发布 的编程语 言和计算平 台.这基础技术 支持最新 的程序 ,包括 实用程序 .游 戏和业 务应用程序 .J ava 在世界各地 的 8.5 亿 多 ...
- React源码学习——ReactClass
前言 之前一直在使用react做开发,但是对其内部的工作机制却一点儿都不了解,说白了就是一直在套api,毫无成就感.趁最近比较闲,对源码做了一番研究,并通过博客的方式做一些记录. 进入正题 通过编写自 ...
- Dorado7与@ManyToMany的矛盾分析
在Dorado7开发时,通过UpdateAction提交数据,默认只会提交DataSet中DirtyTree,这样如果子对象数据未发生修改时是不会提交的,后台拿到的子对象为空.如果两对象之间,通过JP ...