自动部署

4 篇文章 0 订阅

    最近跟一个同事完成了项目的自动部署功能。

 

   一, 实现功能

     部署包括war包,数据库脚本和发邮件三个部分。

     war部署: 1),从SVN获取最新代码.

                    2), 自动打包.

                    3), 上传linux服务器.

                    4), 登录服务器,切换用户并部署war

                    5), 检查版本更新, 检查产品网站是否可以登录.

 

     数据库部署: 1), 更新数据库脚本

                         2), 获取更新文件

                         3), 连接服务器,执行脚本更新并记录日志

                         4), 查询,看是否有执行失败脚本. 有: 发邮件通知

    

  二, 使用工具

        1, Jenkins: 实现自动部署及邮件通知等功能

         2, bitbucket: 代码托管工具, 托管的是自动部署的脚本代码

         3, cygwin: 一个windows运行的liunx模拟器

 

   三, 实现遇到的问题

    1), 自动登录linux切换用户

        之前试过很多软件,不支持切换用户,之前都是手动登录服务器切换用户,执行部署脚本

     2), 自动验证部署成功

       验证成功不仅仅看网站是否能打开还要看tomcat的war是否是当前部署的时候,

       有时候tomcat虽然启动,但是产品还是之前的,虽然war是当前时间,没查为什么会这样

      3), 自动发邮件

       虽然jenkins 里面有自动发邮件功能,但是jenkins部署的服务器无法连接到我们公司的SMTP.

       折中在我们的产品服务器进行了邮件发送

 

   四, 总结

      1, 所以涉及到的sh代码, 存于网盘 darren/java/GXD/auto_deployment

      2, 了解了如何生成公私钥

           本地cd ->ssh-keygen.exe ->cd .ssh/  ->ssh jenkins@10.213.xx.xx -p 50001->cat id_rsa.pub

           在服务器cat authorized_keys, 可查看你添加的公钥

      3, 了解了一些linux命令 rsync, scp,curl

               rsync: 远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件

               scp: secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。  

               curl: 一个利用URL规则在命令行下工作的文件传输工具

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值