Typography

活版印字


  • Home
  • Archive
  • Categories
  • Tags
  •  

© 2020 alincode

Theme Typography by Makito

Proudly published with Hexo

自動部署三兩事(1)

Posted at 2016-07-30 auto deploy 

在沒有自動部署的世代,基本上重新部署就等同於,把舊的程式碼刪掉,再把新版的程式碼上傳到 FTP 同個位置,接著手動重啟伺服器。但由於現在講究雲端架構要彈性,伺服器要可以無限開 N 台的情況,所有步驟都要改成自動化,那到底要做哪些事?

重新部署要做的事

  • 備份資料庫
  • 更新程式碼
  • 更新設定檔
  • 更新資料庫
  • 例行性指令
    • 重啟 service
    • 清除 cache
  • etc…

以往,我們要做上述的這些事,我們要組合非常多的 plugin 組合技去達成,帶隨著時代在進步,漸漸出現一套就可以涵蓋這些範圍的工具,並發展出一套架構。

相關的工具類型

  • 資料庫遷移工具 (Migration tools)
  • 自動部署工具 (automated configuration manage tool)

自動部署工具

  • Ansible
  • Chef
  • Capistrano
  • etc…

以 Capistrano 為例來說明

1
2
3
4
5
require 'capistrano/setup'
require 'capistrano/deploy'
require 'capistrano/bundler'
require 'capistrano/rails/migrations'
require 'capistrano/rails/assets'

Capistrano 下有非常多的 sub module,這些 sub module 是實際去執行動作的模組,Capistrano 的責任在至於制定一個架構,讓大家依照這個架構下,只需針對設定檔調整,就可以輕鬆達到自動部署及版本控制。

Share 

 Previous post: 程式語言常用框架對照表 Next post: 關於自動部署 rollback 

© 2020 alincode

Theme Typography by Makito

Proudly published with Hexo