Linux 实现在 linux 中自动化部署 tomcat

kawa · May 25, 2018 · Last by kawa replied at June 14, 2018 · 3309 hits

tomcat部署在linux中,每次部署大概经过以下几个步骤:
1、远程连接到服务器,杀掉tomcat进程
2、删除tomcat中的日志、work
3、备份war包,然后删除
4、从svn获取最新的war包,上传到服务器中
5、命令解压war包,修改其中的配置文件
6、启动tomcat、查看启动日志是否报错
7、多个tomcat重复上述步骤
问题:很繁琐,而且容易遗漏或者出错,想实现自动化部署
过程:最近没时间倒腾这个事情,看了一些文档,想在实施前听听大家的实际操作建议,包括工具或者使用过程中的优缺点等等

共收到 15 条回复 时间 点赞
kawa #1 · May 25, 2018 作者

🐣

可以用jenkins,打包,分发包,执行相关的部署命令~一切搞定~

  1. ssh 免密码登录
  2. shell 脚本搞定
  3. 同上
  4. jenkins 打包 scp 到服务器
  5. jenkins 打包前修改 配置文件 shell脚本or版本控制
  6. jenkins 报告 + shell脚本输出错误
  7. 多个tomcat jenkins 搞定 ,一个job 或者多个pipeline

适用与自己的自动化部署 需要实际操作 中慢慢优化, 一步到位比较少
工具 jenkins docker k8s

体量少 直接不用docker 了就

可以用 ansible 的 playbook

早就用jenkins实现一键部署,拉取开发分支,在jenkins中执行shell脚本,一键部署搞定,部署的时候 开发的配置文件跟sql脚本还需手动执行

docker jenkins

—— 来自TesterHome官方 安卓客户端

kawa #7 · May 30, 2018 作者

昨天研究了下jenkins,先尝试了下实现在windows中自动化部署,结果卡在bat脚本上了,直接运行bat没问题,但是在jenkins中运行就报错提示文件被占用无法删除。。。

kawa #8 · May 30, 2018 作者

你们用过finalbuilder没,之前用过一点,可能先入为主?觉得比jenkins直观好用,但很久没有用了,记不太清了

kawa #9 · June 14, 2018 作者
白纸 回复

不需要打包,是直接开发打包好的,对打包后的war包中的配置文件进行修改,能实现自动化修改吗?

最简单的 python+fabric,相对复杂点的 python+ansible 楼主可以了解下

kawa #11 · June 14, 2018 作者
kawa 回复

基于实际情况,放弃了在windows当中部署tomcat的想法,改为把tomcat放在linux中,jenkins还是在window中运行的,结果乱码问题解决了好久。。。建议jenkins也放在linux中会少好多坑

kawa #12 · June 14, 2018 作者
Joo 回复

刚初步把jenkins弄通,等给他弄流畅了,会看看你推荐的,谢谢分享啦!

kawa #13 · June 14, 2018 作者
kawa 回复

有解决方法了:
1、使用文件替换功能
2、使用sed命令替换文件中的某些内容
当前采用的是第二种
话说这个自动化部署中感觉用的最多的反而是shell命令。。。不能说没感觉到自动化吧,但是这个软件给我的感觉并不深

14Floor has been deleted
kawa #15 · June 14, 2018 作者

配置文件可以修改了,但是sql命令当前还没试验过。。。基本的思路应该是远程连上mysql所在的服务器,然后执行shell脚本,脚本中包含执行sql语句的命令

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up