部署管道
2013 年 5 月 30 日
自動化建置和測試環境的挑戰之一,就是你希望建置速度快,以便快速取得回饋,但全面測試需要花費很長的時間執行。部署管道是一種透過將建置分解成階段來處理這個問題的方法。每個階段提供越來越高的信心,通常是以額外時間為代價。早期階段可以找出大部分問題,提供更快的回饋,而後續階段則提供更慢但更深入的探查。部署管道是 持續交付 的核心部分。
通常,部署管道的第一階段會執行編譯並提供二進位檔給後續階段。後續階段可能包含手動檢查,例如無法自動化的任何測試。階段可以是自動的,或需要人工授權才能進行,它們可以並行於多台機器上以加速建置。部署到生產環境通常是管道中的最後一個階段。
更廣泛來說,部署管道的任務是偵測任何會導致生產環境問題的變更。這些問題可能包括效能、安全性或可用性問題。部署管道應該讓參與軟體交付的各個群組之間能夠合作,並讓所有人清楚系統中變更的流程,以及詳細的稽核記錄。
導入持續交付的一個好方法,是將你目前的交付流程建模為部署管道,然後檢查是否有瓶頸、自動化機會和合作點。
更多資訊,請參閱 持續交付書籍 的第 5 章,可作為 免費下載。