持续集成和docker

    现在的持续集成,因为docker技术的成熟,有了长足的进步。

    记得我在以前的公司的时候,测试环境还有生产环境的发布都需要组长来发布。有时候,他忙的话,发布就会延后,特别是测试环节,直接影响效率。后来在我的要求下,他把测试环境服务器连接的信息发我。测试环境我可以发布了。但是有时候我也忙,测试也要等我。所以我就想简化发布的流程,可以提高效率。

    后来我想用jekins来进行CI(持续集成)。但是由于种种原因,并没有执行。所以我希望在现在的公司可以采用。并且加入docker容器技术来进一步提高效率。

     现在的公司,虽然我把发布告诉了组员,但是发现还是挺麻烦的,每次都要打那该死的命令。感觉挺无聊的,也不高效,有时候还是会有搞错的情况,所以需要搭建持续集成的环境。由于web层被我拆分了,这就加大了部署的难度。如果用传统的方式,我需要搭建很多个tomcat,即使我搭建好了,后面的维护和发布也不是特别好的事情。我需要把jekins搭建起来,使部署是一件方便的事情。

     首先我需要在自己的电脑的虚拟机上把jekins搭建起来。自己测试通过了,然后再在公司上采用起来。只有把这些机械而单调的事情自动化了,才可以把精力放在更加重要的事情上。

     可以用maven插件来帮助这个过程。比如maven-tomcat-plug 。最近了解到一个如同黑科技般存在的东西,那就是capsule,可以让普通的war包变成runable的war包。就是在打包的时候把jetty加入到其中。感觉很厉害的样子。也可以用jettyrunner的方式来部署war包,这样就不需要一一搭建tomcat了。

java -jar jettyrunner normal.war --port 8090 --path /test

      其实比较好的解决方案是web层,采用spring boot的方式来整合,但是遇到了@autowried为null的情况,暂时不好解决。

      因为部署的时候要对用户无察觉,所以用了nginx反向代理的负载均衡的方法,所以对于nginx的配置文件重加载也是一件需要解决的事情。想写成一个脚本,让这些事情可以更加自动化。

       再探索如何更好的部署这件事情上,发现jetty也是一个不错的存在,以前知道这个东西,也用过这个插件,(在clone别人的项目的时候,发现了这个插件,但是并没有太多的重视)。

     关于jetty的更多了解可以查看官网jetty的maven插件使用在idea使用jetty,jetty maven热部署配置该如何配置

      关于maven插件,可以查看这篇文章。Tomcat热部署:Maven项目一键部署到Tomcat服务器 - 支持多环境

转载于:https://my.oschina.net/miaojiangmin/blog/782631

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值