
准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Build two Container images in Cloud Build
/ 50
Build and Test Containers with a build configuration file and Cloud Build
/ 50
在這個研究室中,您將使用 Cloud Build 從現成的程式碼和 Dockerfile 建立 Docker 容器映像檔,然後將容器上傳至 Artifact Registry。
在本研究室中瞭解如何執行下列工作:
每個實驗室都會提供新的 Google Cloud 專案和一組資源,讓您在時限內免費使用。
按一下「Start Lab」按鈕。如果研究室會產生費用,畫面中會出現選擇付款方式的彈出式視窗。左側的「Lab Details」窗格會顯示下列項目:
點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也能按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」。
接著,實驗室會啟動相關資源並開啟另一個分頁,當中顯示「登入」頁面。
提示:您可以在不同的視窗中並排開啟分頁。
如有必要,請將下方的 Username 貼到「登入」對話方塊。
您也可以在「Lab Details」窗格找到 Username。
點選「下一步」。
複製下方的 Password,並貼到「歡迎使用」對話方塊。
您也可以在「Lab Details」窗格找到 Password。
點選「下一步」。
按過後續的所有頁面:
Google Cloud 控制台稍後會在這個分頁開啟。
完成初始登入步驟後,就會看到專案資訊主頁。
Google Cloud Shell 是搭載多項開發工具的虛擬機器,提供永久的 5 GB 主目錄,而且在 Google Cloud 中運作。
Google Cloud Shell 提供指令列存取權,方便您使用 Google Cloud 資源。
在 Cloud 控制台的右上方找到工具列,然後按一下「開啟 Cloud Shell」按鈕。
按一下「繼續」。
佈建並連線至環境的作業需要一些時間才能完成。連線建立完成即代表已通過驗證,而且專案已設為您的「PROJECT_ID」。示例如下:
gcloud 是 Google Cloud 的指令列工具,已預先安裝於 Cloud Shell,並支援 Tab 鍵完成功能。
輸出內容:
輸出內容示例:
輸出內容:
輸出內容示例:
記下 Google Cloud 專案的名稱。這個值會顯示在 Google Cloud 控制台的頂端列中,格式為 qwiklabs-gcp-
後接十六進位數字。
前往 Google Cloud 控制台,依序點選「導覽選單」圖示 >「API 和服務」。
點選「程式庫」。
在「搜尋 API 和服務」方塊輸入 Cloud Build。
如果 Cloud Build API 的搜尋結果資訊卡中,未顯示已啟用 Cloud Build API 的確認訊息,請點選「啟用」按鈕。
點選返回按鈕回到上一個畫面,找到搜尋框。在搜尋框輸入 Artifact Registry。
如果 Google Artifact Registry API 的搜尋結果資訊卡中,未顯示已啟用 Artifact Registry API 的確認訊息,請點選「啟用」按鈕。
您可以編寫建構設定檔,指示 Cloud Build 要在建構容器時執行哪些工作。這些建構檔可擷取依附元件、執行單元測試和分析等等。在這項工作中,建立一個 DockerFile 並將其作為 Cloud Build 的建構設定指令碼。此外還會建立一個簡單的殼層指令碼 (quickstart.sh),可用來代表容器內的應用程式。
在 Google Cloud 控制台標題列中,點選「啟用 Cloud Shell」。
如果出現提示訊息,請點選「授權」。
系統隨即會在 Google Cloud 控制台視窗的底部開啟 Cloud Shell。
quickstart.sh
檔案:quickstart.sh
檔案中新增下列幾行內容:依序按下 CTRL+X 鍵、Y 鍵和 ENTER 鍵,即可儲存檔案並關閉 nano 編輯器。
使用 nano 文字編輯器,建立空白的 Dockerfile
檔案:
這會指示建構作業使用 Alpine Linux 基本映像檔。
這會將 quickstart.sh
指令碼新增至映像檔中的 / 目錄。
這個指令會將映像檔設為在建立和執行關聯容器時,執行 /quickstart.sh
指令碼。
Dockerfile 目前應如下所示:
依序按下 CTRL+X 鍵、Y 鍵和 ENTER 鍵,即可儲存檔案並關閉 nano 編輯器。
在 Cloud Shell 中執行下列指令,將 quickstart.sh
指令碼設為可執行:
quickstart-docker-repo
的 Docker 存放區,並將說明設為「Docker repository」(Docker 存放區)。建構完畢後,Docker 映像檔會推送至 Artifact Registry。
在 Google Cloud 控制台中,找出位於頂端的搜尋列,搜尋 Artifact Registry。
點選名為 quickstart-docker-repo
的存放區。
清單中會顯示名為 quickstart-image
的 Docker 映像檔。
Cloud Build 也支援自訂建構設定檔。在這項工作中,您將透過 Cloud Build 使用自訂的 YAML 格式建構檔案,納入現有的 Docker 容器。
我們來建立自訂 Cloud Build 設定檔範本:cloudbuild.yaml
。
cloudbuild.yaml
檔案,並在 nano 編輯器中開啟檔案:cloudbuild.yaml
檔案:依序按下 Ctrl+O 和 Enter 鍵,儲存編輯過的檔案。
按下 Ctrl+X 鍵,退出 nano 文字編輯器。
執行下列指令,設定我們的區域變數,並將該值插入 yaml 檔案。
cloudbuild.yaml
的內容:輸出內容應如下所示:
這個檔案會指示 Cloud Build 使用 Docker,在目前的本機目錄中建構符合 Dockerfile 規格的映像檔,並加上 gcr.io/$PROJECT_ID/quickstart-image
標記 ($PROJECT_ID
是 Cloud Build 依據關聯專案 ID 自動填入的變數),然後推送至 Artifact Registry。
cloudbuild.yaml
做為建構設定檔來啟動 Cloud Build:Cloud Shell 建構作業的輸出內容應會與先前相同。建構作業完成後,系統會將相同映像檔的新版本推送至 Artifact Registry。
在 Google Cloud 控制台中,找出位於頂端的搜尋列,搜尋 Artifact Registry。
點選搜尋結果中的「Artifact Registry」。
依序點選存放區「quickstart-docker-repo」>「quickstart-image」
現在,清單中會顯示兩種版本的 quickstart-image
。
點選「檢查我的進度」,確認目標已達成。
在 Google Cloud 控制台中,按一下控制台視窗頂端的搜尋列,然後搜尋 Cloud Build。
按一下搜尋結果中的「Cloud Build」。
按一下「Cloud Build」中的「記錄」,清單中會顯示兩種建構。
在清單頂端找到要查看的建構項目,點選相應的建構 ID。 畫面會顯示建構詳細資料,包括建構記錄檔。
自訂建構設定檔的真正優勢在於可同時或依序執行其他動作,並簡化容器建構程序,例如對新建立的容器執行測試、將容器推送至各個目的地,甚至是將容器部署至 Kubernetes Engine。
在這項工作中,我們將簡單示範建構設定檔如何測試自身建構的容器,並將結果回報至呼叫環境。首先我們要更改 quickstart.sh
檔案。
前往 Cloud Shell,在 nano 編輯器中開啟 quickstart.sh
。
將現有檔案內容換成下列指令:
依序按下 Ctrl+O 和 Enter 鍵,儲存編輯過的檔案。
按下 Ctrl+X 鍵,退出 nano 文字編輯器。
我們來建立新的自訂 Cloud Build 設定檔:cloudbuild2.yaml
。為了示範 Cloud Build 如何測試自身建構的容器,檔案的部分內容已稍做修改。
cloudbuild2.yaml
檔案,並在 nano 編輯器中開啟檔案:cloudbuild2.yaml
檔案:依序按下 Ctrl+O 和 Enter 鍵,儲存編輯過的檔案。
按下 Ctrl+X 鍵,退出 nano 文字編輯器。
執行下列指令,將我們的區域值插入新建立的 yaml 檔案。
cloudbuild2.yaml
的內容:輸出內容應如下所示:
除了前述動作,這個建構設定檔還會執行自己先前建立的 quickstart-image
。在這項工作中,quickstart.sh
指令碼已經過修改,以便在引數傳遞 ['fail']
時模擬測試失敗。
cloudbuild.yaml
做為建構設定檔來啟動 Cloud Build:指令輸出內容的結尾文字應如下所示:
輸出內容
指令會回應零以外的數值。只要將這項建構作業嵌入至指令碼中,指令碼就能對失敗的建構作業採取行動。
點選「檢查我的進度」,確認目標已達成。
如果您已完成研究室,請按一下「End Lab」(關閉研究室)。Google Cloud Skills Boost 會移除您使用的資源,並清除所用帳戶。
您可以針對研究室的使用體驗評分。請選取合適的星級評等並提供意見,然後按一下「Submit」(提交)。
星級評等代表您的滿意程度:
如果不想提供意見回饋,您可以直接關閉對話方塊。
如有任何想法、建議或指教,請透過「Support」(支援) 分頁提交。
Copyright 2022 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验