[请益] 如何同时更新多台Server内的DB及APP

楼主: walker088 (木栅鲁蛇)   2018-11-16 04:18:52
各位年薪百万大大们好
小鲁我是目前在巴拉圭的替代役男
刚开始在地球另一端抠顶大概三周而已
工作的计画是协助他们国家医院医疗资讯系统的开发&维护
使用的技术如下:
Backend: Java 8, Struts2, Tomcat 8.5
Database: PostgreSQL-9.4
Platform: CentOS 7
Others: Flyway, Gradle
这边想跟各位大大请益问有关DevOps的问题
这里开始使用我们系统的医院目前都有独立的服务器
因此当我们的APP(Java)或DB有做修改后
他们目前是逐台Server做手动更新
满浪费时间的而且未来推广到更大量医院时候很惨
几分钟前老板让我找个方法可以同时更新所有的Server
这边因为基本上更新主要有两个任务:
1. 写好更新DB的sql后丢上Server用Flyway执行 (或直接psql吃.sql)
2. 开发出新的版本后包成 .war 档丢进Server的Tomcat
作者: SheLoBDenI (幻冥月)   2018-11-16 06:39:00
cronjob+bash_script, gluster?
作者: bapemilo (猜猜看)   2018-11-16 06:58:00
Ansible你可以看看Jenkins & Ansible用Jenkins撰写一个发布的Job这个job做的是打包成War然后执行flyway再透过Ansibleㄧ次将war更新多台机器
作者: pxycho (trolltrolltroll)   2018-11-16 08:35:00
Chef or Ansible
作者: LuLuCow   2018-11-16 09:05:00
CI + Ansible
作者: didifong (o o )   2018-11-16 09:05:00
Ansible+1
作者: qrtt1 (有些事,有时候。。。)   2018-11-16 09:20:00
跑在什么系统上?
作者: Sieg2010 (Sieg)   2018-11-16 09:27:00
Ansible
作者: hxrgjo (李仔仔)   2018-11-16 09:28:00
Ansible +1 布署很方便的
作者: gofigure (平行世界)   2018-11-16 09:39:00
我想你需要的是replication相关 而不是上面那堆土法炼钢
作者: SISQUAKE (SISQUAKE)   2018-11-16 10:21:00
Ansible 一解
作者: qrtt1 (有些事,有时候。。。)   2018-11-16 10:50:00
别冲动,你的基础建设有完整了吗?灾难回复策略跟演练呢?
作者: vi000246 (Vi)   2018-11-16 11:01:00
如果要土法练钢我有写支FTP布署的https://goo.gl/oJnRxZ
作者: ripple0129 (perry tsai)   2018-11-16 11:09:00
看样子ansible已经称霸CM市场了
作者: ian90911 (xopowo)   2018-11-16 11:15:00
推qrtt1 先厘清复原手段
作者: ChungLi5566 (中坜56哥)   2018-11-16 12:15:00
主流就是一台一台手动部署
作者: alog (A肉哥)   2018-11-16 12:33:00
你们有没有规划怎么rollback上一个版本 这个很重要还有有没有可能搞挂数据库 或 退回上一个版本资料被你们砍掉如果是停机维护还好 可以在执行前再备份 如果是不停机 就会比较尴尬 新进资料搞挂了包你囧爆另外就是 或许还会有更酷的工具 或是 需要整合其他的先进服务进入到你们的架构但一定要留意你们在处理的资料 他是国家级的医疗资讯,或许可能内容还好,但有些工具或先进的系统服务 最好要跟你上面的主管确认/授权过再用 不要没有确认过就直接傻傻用 怕你没事变有事
作者: Masakiad (Masaki)   2018-11-16 13:32:00
docker + CI/CD server啊
作者: remmurds (Stronghold)   2018-11-16 15:47:00
架构魔人要出动了吗?
作者: gino0717 (gino0717)   2018-11-16 17:55:00
巴拉圭有电脑喔
作者: single4565 (leekdumpling韭菜水饺)   2018-11-16 18:14:00
这替代役好像还不错欸
作者: popmentos (汽水 + 曼陀珠)   2018-11-16 20:25:00
https://pulumi.io/ 以后可能会变主流
作者: ChungLi5566 (中坜56哥)   2018-11-16 20:44:00
war安装完会有个路径来放解开后的档案设成ftp站台 换版就直接把war解开后盖过去不过即使UAT环境测过 也无法保证Prod也ok所以主流还是晚上加班手动换版
作者: RunRun5566 (跑跑五六)   2018-11-17 09:08:00
Ansible, DB不要放server,不然就用Dicker把app跟db绑着用
作者: MIKEmike07 (加油!)   2018-11-17 14:35:00
Jenkins + Ansible

Links booklink

Contact Us: admin [ a t ] ucptt.com