服务器搭建——jenkins构建后应该做什么(3)

构建后,建站问题

问题1 构建后应该做什么

在成功构建后,其实就生成了一个war包或者 jar包

但是

始终访问不了 8080 和8081 ,即使添加了安全组和防火墙设置!。

防火墙centos 7 端口问题

这时候思路是错的,虽然前辈和我说,端口打开了,如果访问不应该是拒绝,而是404。

理论上好像是这样,但是如果端口没有进程,在ecs上就是拒绝访问。

telnet 网址 8080(端口)

解决方向

  • 确定打包方式
  • 编写脚本

问题2 Spring Boot 打成war包的方法

war包打包

*搭建**jenkins实现自动化*部署

至此war 包部署完成?

但是我有一个问题,我发现好像本地项目测试的时候如果加了这一串代码十分不方便啊,因为也不能用内置tomcat了。

就是这样,在添加tomcat配置去配置。这样好麻烦啊。
但是这样我服务器上已经全部配置完了。
github连服务器,生成war。自动部署。
其中** url * 是 ip/war包名称/+requestmaping
怎么去war包 名称呢? 建议百度,我去jar包了,
因为jar包内嵌tomcat,配置url很方便…

好的,其实war包的url,ROOT是会隐藏的。所以你可以删除原来的ROOT,更名就行。

问题3 jar包怎么弄

但是! 生活继续。看jar怎么部署,毕竟很多公司主流都是这个。
但是我有另一个问题。因为我是个人服务器+个人项目。项目集成难道也用分块jar去实现?(目前还不懂)

linux 如何运行和停止jar

查找端口占用kill 进程

问题3.1 误杀

netstat -lnp|grep 80

kill -9 端口

原来版本v 1.0

mvn clean
mvn package

BUILD_ID=DONTKILLME
port=80
#根据端口号查询对应的pid
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }');

#杀掉对应的进程,如果pid不存在,则不执行
if [  -n  "$pid"  ];  then
    kill  -9  $pid;
fi

java -jar /root/.jenkins/workspace/webdemo/target/demo-0.0.1-SNAPSHOT.jar

用脚本kill 80 端口时候会误杀8081 8080 (这边我把80端口给留下来给项目了,吧8081给了jenkins,好麻烦啊,不如直接改个什么3562之类的不相关的就好了。)

1563070652925

BUILD_ID=DONTKILLME
port=80

根据端口号查询对应的pid

pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }');

杀掉对应的进程,如果pid不存在,则不执行

if [ -n "$pid" ]; then
kill -9 $pid;
fi

于是我找到了lsof 指令 lsof -i:80

效果如下

1563070570755

效果不错,比上面好多了,上面那个是aliyundun ,只要筛选就可以了

lsof -i:80|grep java

1563070695181

问题又来了

1563070838412

如果我用 -t 参数直接输出端口很好用啊,但是会把aliyundun 包含一起杀死

当然也有解决方法,用awk去提取 lsof -i:80|grep java 这个就行了。

但是我偷懒了….

lsof -t -i:80|sed -n '2,2p'

1563071233645

效果还行,但是我不保证 aliyundun pid每一次都比java小,我不懂pid机制,下次有问题再说吧

v2.0

mvn clean
mvn package


port=80
#根据端口号查询对应的pid
#pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }');

pid=$(lsof -t -i:80|sed -n '2,2p');

#杀掉对应的进程,如果pid不存在,则不执行
if [  -n  "$pid"  ];  then
    kill  -9  $pid;
fi

java -jar /root/.jenkins/workspace/webdemo/target/demo-0.0.1-SNAPSHOT.jar

由于项目比较简单,轻喷

做到这里就是自动构建。每次上传github需要手动构建。

还有可以添加的是 构建后的脚本 发邮箱。

有兴趣的大家加油!!!

我累了,哪天有这么刚需需要github自动构建我再加吧……

猜你喜欢

转载自www.cnblogs.com/EsMussSeinHui/p/11184748.html
0条评论
添加一条新回复