DevOps--資料庫變更部署自動化
阿新 • • 發佈:2018-11-30
本文摘抄自:DevOps的概念與實踐
敏捷 & DevOps
- 業務需求是變更的驅動者,少做一些,但做的更好,交付更快。==>敏捷開發
- 將敏捷應用於生產:連線開發和運維==>DevOps
- 為了有效掌握敏捷衝刺部署以及實施DevOps,需要實現部署自動化。因為手動總是容易出錯,速度慢,無法做到高效
安全的資料庫部署自動化
實現資料庫自動化,需要考慮以下因素:
- 在執行一個工作流程時,有恰當的資料庫版本控制系統,應對資料庫獨有的挑戰。這樣可以防止任何流程外的變更、程式碼覆蓋或不完整的更新
- 通過版本控制最佳實踐,獲得關於誰在什麼時間因為什麼做了什麼的完整資訊。確保變更的完美記錄是以後部署的基礎
- 與基於任務的開發相協調,使每個版本控制下的變更與一個變更請求或一個問題單相關聯。這使得基於任務的部署、部分部署和最後時刻的範圍變更可以在程式碼和資料庫之間協調
- 確保配置管理&一致性,這樣,每個開發環境、分支、主幹、沙箱及測試或生產環境都遵循一樣的結構、一致的狀態。或者對任何偏差和差異做詳細說明
- 處理部署流程自動化的指令碼化介面能在每次執行時提供可重複的結果
- 提供可靠的部署指令碼,能夠解決衝突、合併程式碼、以及與其他團隊交叉更新,同時還能忽略錯誤的程式碼覆蓋,以及完全整合到版本控制庫
- 動態提供自動生成的開發指令碼,處理部署專案範圍內的任意組合,從多模式的大型更新,到基於單任務的變更及其所依賴的物件
- 在變更部署前後,利用“標籤”(標記資料庫結構快照和相關內容)作為安全網,這樣隨時都可以簡單快速回滾
- 可以完全整合到其他系統(ALM、變更管理/問題單、構建伺服器以及釋出管理器)
資料庫自動化很容易與變更和釋出流程的其餘部分實現整合,進而實現完整的端到端的自動化