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

kawa · 2018年05月25日 · 最后由 kawa 回复于 2018年06月14日 · 2593 次阅读

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

共收到 15 条回复 时间 点赞
kawa #1 · 2018年05月25日 Author

🐣

可以用 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 · 2018年05月30日 Author

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

kawa #8 · 2018年05月30日 Author

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

kawa #9 · 2018年06月14日 Author
白纸 回复

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

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

kawa #11 · 2018年06月14日 Author
kawa 回复

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

kawa #12 · 2018年06月14日 Author
Joo 回复

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

kawa #13 · 2018年06月14日 Author
kawa 回复

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

14楼 已删除
kawa #15 · 2018年06月14日 Author

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

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册