Jenkins笔记
一、不用jenkins,咱们开发软件以及部署上线的操作流程:
SSM程序: java包放后端代码 resources包放资源配置 webapp 放前端资源
这个项目干了什么?1.配置了首页 2.ajax请求url获取获取Handler 3.业务逻辑最后通过Mybatis查询数据库找到loginName
4.返回loginName 通过MVC,对视图进行渲染 5.我们启动项目,发现首页上有一个loginName
我们可以看到,IDEA给我们一键bulid war以及部署tomcat服务器了
我们知道,往往实际工作中要部署的服务器用的是Linux系统,可能没图形界面,也没有只能编辑器,
那么,咱么原生态的项目是怎么部署的呢?
mvn install 打包war
把war放到tomcat的webapps目录下
启动tomcat,就可以访问了(当然,现在tomcat在我们本地,也就是内网,所以咱们可以通过localhost代表ip,然后呢,别人也无法通过外网访问)
模拟Linux下部署(不借助智能编辑器的帮助,和不使用图形界面):
1.先在本地(windows)找到项目,进入目录,通过mvn install 打war包
2.通过win scp连接Linux,把war传到外城Linux系统的计算机上
3.把war 复制到 服务器上tomcat的webapp里
4.启动tomcat startup.sh
原生的tomcat启动之后,访问项目:浏览器打开 localhost:端口 + 项目名 ,就可以访问
又因为服务器在外网,所以咱们在自己的电脑上通过服务器的ip +端口+ 项目名 ,也可以访问
但是我们平时不是这么玩的,都会通过域名来访问(好记),但实际上就是 ip +端口+ 项目名 +接口
那么,我们发现有一个痛点:
如果我们在开发中,改bug,需要频繁放到生产环境上去看。比如说你一小时改一个Bug,上线调试了五次
那么就是做了五次:上传代码+打war包+部署到服务器webapps,启动tomcat
上传代码,在合作开发时必不可少,所以这一步肯定还得有。那么,bulid和deploy能否自动完成?
或者说,能否有一个工具,可以实现,我在windows敲的代码上传之后,服务器会触发自动拉取和自动bulid和自动部署呢?
福音来了,jenkins就可以帮我们自动化地完成这个繁复磨人的过程(比如一小时部署了五次,以前得纯手动,现在可以全自动!——偷懒),我们以后只需要上传代码,就可以直接上线访问了。
二、用jenkins怎么做呢
首先下载 war (可以是msi) 通过java -jar把它启动
此时,cmd出现一条password ,记下来,等会登陆要用
注册用户
登陆
下载插件(用镜像地址,或者手动下完后导入。有三个重要插件:maven 插件(依赖javadoc插件),git插件,Deploy to container插件)
通过jenkins网页配完项目配置后,点下Bulid now干了两件事:
1.从github拉取代码
2.maven package