cd的元素及意思解釋 cd是什么( 五 )


持續交付如何與運維開發相交?持續交付管道是幾個 DevOps 理念的實現 。 產品開發的后期階段(如打包和部署)始終可以在管道的每次運行中完成 , 而不是等待產品開發周期中的特定時間 。 同樣 , 從開發到部署過程中 , 開發和運維都可以清楚地看到事情何時起作用 , 何時不起作用 。 要使持續交付管道循環成功 , 不僅要通過與開發相關的流程 , 還要通過與運維相關的流程 。
說得更遠一些 , DevOps 建議實現管道的基礎架構也會被視為代碼 。 也就是說 , 它應該自動配置、可跟蹤、易于修改 , 并在管道發生變化時觸發新一輪運行 。 這可以通過將管道實現為代碼來完成 。
什么是“管道即代碼”?管道即代碼(pipeline-as-code)是通過編寫代碼創建管道作業/任務的通用術語 , 就像開發人員編寫代碼一樣 。 它的目標是將管道實現表示為代碼 , 以便它可以與代碼一起存儲、評審、跟蹤 , 如果出現問題并且必須終止管道 , 則可以輕松地重建 。 有幾個工具允許這樣做 , 如 Jenkins 2 。
DevOps 如何影響生產軟件的基礎設施?傳統意義上 , 管道中使用的各個硬件系統都有配套的軟件(操作系統、應用程序、開發工具等) 。 在極端情況下 , 每個系統都是手工設置來定制的 。 這意味著當系統出現問題或需要更新時 , 這通常也是一項自定義任務 。 這種方法違背了持續交付的基本理念 , 即具有易于重現和可跟蹤的環境 。
多年來 , 很多應用被開發用于標準化交付(安裝和配置)系統 。 同樣 , 虛擬機(virtual machine)被開發為模擬在其它計算機之上運行的計算機程序 。 這些 VM 要有管理程序才能在底層主機系統上運行 , 并且它們需要自己的操作系統副本才能運行 。
后來有了 容器(container) 。 容器雖然在概念上與 VM 類似 , 但工作方式不同 。 它們只需使用一些現有的操作系統結構來劃分隔離空間 , 而不需要運行單獨的程序和操作系統的副本 。 因此 , 它們的行為類似于 VM 以提供隔離但不需要過多的開銷 。
VM 和容器是根據配置定義創建的 , 因此可以輕易地銷毀和重建 , 而不會影響運行它們的主機系統 。 這允許運行管道的系統也可重建 。 此外 , 對于容器 , 我們可以跟蹤其構建定義文件的更改 —— 就像對源代碼一樣 。
因此 , 如果遇到 VM 或容器中的問題 , 我們可以更容易、更快速地銷毀和重建它們 , 而不是在當前環境嘗試調試和修復 。
【cd的元素及意思解釋 cd是什么】這也意味著對管道代碼的任何更改都可以觸發管道新一輪運行(通過 CI) , 就像對代碼的更改一樣 。 這是 DevOps 關于基礎架構的核心理念之一 。

推薦閱讀