上一篇文章《自动化部署工具Jpom系列(二)节点安装》我们介绍了节点相关的安装,但是这部分其实不是太有用,主要是用来操作项目和监控使用的。从这篇文章开始,我们来介绍下真实的实战,部署一个java项目。部署java项目一般我们常用的方式有两种,一种是:直接部署java包,然后使用java -jar的方式进行启动,这种的话一般我们需要把jar包上传到服务器上去,另外一种是打成docker包,然后启动docker即可。这篇文章我们主要介绍使用ssh部署java项目。下面直接开始。
一、添加项目仓库
自动化部署的前提是我们需要把项目上传到svn或者git上,因此这里我们建议采用git方式。这里假设我们已经把项目传到了git上了
然后我们进入到Jpom的Dashboard中
点击在线构建->仓库信息-新增
我们填写对应的仓库信息即可。
设置完后,点击保存,在仓库信息的列表里面就能显示出来刚才创建的仓库了。
到这里我们的git仓库就添加完毕了。
备注:
1、这里的仓库默认支持git和svn类型
2、仓库的拉取方式也支持ssh和http的方式
二、添加ssh信息
这里由于我们使部署java项目,同时需要把文件上传到对应的服务器节点上,因此这里的话我们需要添加服务器的ssh信息,这里和刚才的节点不一样。后续在备注里面我们给予说明。
进入到Jpom的Dashboard页面上,点击 ssh管理->ssh列表->新增
把对应的服务器信息填写进去即可,然后点击确定,就可以在列表中看到刚才添加的服务器了。
三、添加部署脚本
点击在线构建->构建列表-》新增
这里的填写信息如下:
名称
名称随便填写,根据自己的需求填写即可
分组名称
这里的话可以根据实际的团队信息分配分组,都是自定义的,随便填写即可
构建源仓库
这里主要是部署当前项目的git仓库,也就是选择刚才添加的仓库即可
分支
对应的git代码,需要部署哪一个分支,选择即可
标签
标签这里一般不用填写,默认即可
构建方式
这里我们选择本地构建,容器构建我们后面讲解
构建命令
对于java来说,一般我们都是使用的maven,因此我们只需要配置mvn clean install即可。
备注:
1、这里的构建命令我们在前面添加了source /etc/profile && cd AdmissionDemo,这里执行source命令主要是想要把maven的环境调用出来,避免执行的时候报错找不到mvn命令,后面的cd目录主要是代码在这个目录下面,而不是在根目录下,因此需要到对应的目录里面去。
产出目录
这里相当于使用mvn命令编译后,最好的jar包打到那个地方的,这里一般我们选择相对目录。
备注:
1、这里一般我们最后一层选择jar,如果不选择jar的话,在发布的时候会把整个目录都copy过去,没有必要。
2、这里的话是相对路径,java项目的话,一般在target目录下。
再说说最后的发布操作,这里我们选择ssh即可,
发布的ssh
这里是我们刚才添加的ssh服务器,我们需要发布到哪些机器上,就添加哪些服务器即可,这里添加的服务器是可以多选的。
发布目录
这里的发布目录主要是指我们最终把这个jar包放在服务器的哪个目录下。
发布命令
这里的命令是我们把jar包拷贝到服务器之后,我们需要执行的命令
对于java应用的话,通用的发布命令模板如下:
Tag="AdmissionDemo-1.0" # 检查进程状态 pid=$(ps -ef | grep -v 'grep' | egrep $Tag| awk '{printf $2 " "}') if [ "$pid" != "" ]; then echo -n "boot ( pid $pid) is running" echo echo -n $"Shutting down boot: " pid=$(ps -ef | grep -v 'grep' | egrep $Tag| awk '{printf $2 " "}') if [ "$pid" != "" ]; then echo "kill boot process" # kill "$pid" kill -9 "$pid" fi else echo "boot is stopped" fi # 启动项目 nohup java -Dappliction=$Tag -Xms512m -Xmx512m -jar /mct/admission/AdmissionDemo-1.0.jar --server.port=32181 > /dev/null 2>&1 &
上面这个模板我们可以直接拿过来使用即可。
最后下面的我们保持默认即可,不需要做任何配置
然后我们点击确定保存即可。
四、执行构建
在列表最右边,我们有一个构建按钮
点击直接构建即可
点击后,就会弹出相关的日志,开始进行执行。
等到出现如下的界面就代表构建发布成功了。
此时我们可以去业务上看下项目是否被正确的部署,如果没有被正确的部署,在这个日志里面会显示所有的错误信息。
备注:
1、ssh部署的话,比较符合当前大部分java项目的部署方式。
2、上面的部署脚本模板的话可以直接修改后使用。
3、相关的构建日志在构建里面里面会显示出来,并且可以被下载。
4、每次构建的包也可以直接下载,方便进行回滚。
还没有评论,来说两句吧...