雲端與容器基礎
以 CI/CD 管線建置的容器映像檔,在預備(staging)環境中測試並合格了。把這個映像檔發布到正式環境的方法,下列何者最適當?
- A為正式環境以同一份原始碼再建置一次映像檔,並把它發布到正式環境
- B為測試過的映像檔重新貼上 latest 標籤,正式環境指定 latest 來拉取
- C以摘要指定測試過的映像檔本身發布到正式環境,各環境的差異以設定提供
查看答案與解析
正確答案:C. 以摘要指定測試過的映像檔本身發布到正式環境,各環境的差異以設定提供
在管線中,把建置產生的成品(這裡是映像檔)視為不可變更,讓同一個成品依序從預備環境推進到正式環境。即使是同一份原始碼,重新建置時相依的函式庫或基礎映像檔的版本也可能改變,結果發布到正式環境的會是與測試不同的東西。標籤之後可以改貼到別的映像檔上,因此要確實指向同一個映像檔,應使用由內容決定的摘要。連線目標這類各環境的差異,不放進映像檔,而以環境變數等設定提供。
- A. 重新建置可能改變相依的函式庫等,成為與測試時不同的映像檔。
- B. latest 是可以改貼的標籤,拉取時可能指向別的映像檔。
- C. 正確。以摘要保證發布到正式環境的是與測試相同的映像檔。