資料庫自動化部署從 0 到 1 - 邱健哲 (Ken)

歡迎來到 Modern Web 2019 共筆 :mega:
共筆入口:https://hackmd.io/@ModernWeb/2019
手機版請點選上方 按鈕展開議程列表。

從這開始

安泰銀行用了自動化部署,部署時間從六周降到 34 分,部署次數也提高

自動化部屬提高自動化部屬次數

佈署遇到的問題

  • 跨部門協調
  • 不斷重複
  • 開發環境不同
  • 人為錯誤

效益†

  • 時間變短
  • 更容易
  • 快速反應
  • 範圍越小,次數越多

實作

  1. 版本控制
  2. 持續整合
  3. 流程管理

版本控制

從這開始比較容易

  • 使用率:
    • app 83%
    • db 55%
  • Visual studio 內建提供資料庫 project 與資料庫版本控制

持續整合

  • Model Driven Approach
    把來源資料庫跟目標資料庫比較,產出哪邊有差異
    git撈出來SQL檔,送進SQL Compare,它會直接將SQL灌進target DB
    SQL Compare 工具,須付費
  • Change Driven Approach
    手動撰寫異動腳本,並由目標資料庫紀錄異動

流程管理

技術由管理補足?

Store procedure

  • 避免使用*
  • SP只建新版
  • 欄位新增,放在最後 (否則RDBMS有可能會誤認為是在新增TABLE)
  • 限制物件佈署
tags: MW19
Select a repo