[請益] 如何同時更新多台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