「軟體發佈能夠(也應該)成為一個低風險、頻繁、廉價、迅速且可預期的流程。」——《Continuous Delivery 中文版》
在真實的場景中,軟體發佈對於有些軟體團隊來說是一件讓人壓力山大的事。
每次交付、發佈或部署上線,都需要一段漫長的時間準備,釐清繁瑣的人工步驟。
最可怕的是,發佈日即是受難日,因為總是有一種「不知道這次會不會出事」不安全感揮之不去。
可是弔詭的是,當發佈越是痛苦,團隊就越不想發佈;而越不常發佈,累積的變更就越多,下次發佈就越是痛苦。
於是軟體團隊自己為自己打造了一個困住自己的惡性循環。
這就是為何我們需要 CI/CD,需要 DevOps。
透過將那些繁瑣、容易出錯的人工步驟,變成可重複、可信賴的自動化流程,讓發佈日從受難日,變成一件稀鬆平常的日常任務。
回到本日金句,軟體發佈確實應該要是一件低風險、頻繁、迅速且可預期的事。
這是每個軟體團隊都應該要努力實現的一項「工程選擇(投資)」。
當你有辦法掌握軟體發佈,你會更有底氣去做到頻繁交付,進而為客戶持續創造價值。
你們團隊上一次的受難日是何時呢?有沒有機會讓下一次不要這麼辛苦呢?