Go 快速入門導覽課程

本頁說明如何使用 Cloud Build 建構 Go 二進位檔,並將二進位檔推送至 Google Cloud Storage。您將會建立建構設定檔,藉以新增 Cloud Build 的操作說明,然後您會使用此設定檔啟動建構。

事前準備

  1. 登入您的 Google 帳戶。

    如果您沒有帳戶,請申請新帳戶

  2. 在 GCP 主控台中,前往「Manage resources」(管理資源) 頁面,選取或建立專案。

    前往「Manage resources」(管理資源) 頁面

  3. 請確認您已啟用 Google Cloud Platform 專案的計費功能。

    瞭解如何啟用計費功能

  4. 啟用Cloud Build API。

    啟用 API

  5. 安裝並初始化 Cloud SDK

登入 Google Cloud

  1. 授權 gcloud 指令列工具存取您的專案:

    gcloud auth login
    
  2. 設定 gcloud 工具適用的專案,其中 [PROJECT_ID] 是您在上一節建立或選取的 GCP 專案 ID。

    gcloud config set project [PROJECT_ID]
    

準備原始碼檔案

您需要有一些範例原始碼才能建構,在本節中,您將會使用 Go 建立一個簡單的 Hello World 範例。

  1. 建立名為 main.go 的檔案,其中含有下列內容:

    package main
    
    import (
        "fmt"
    )
    
    func main() {
        fmt.Println("Hello, world!")
    }
    

建立 Cloud Storage 值區

您需要有 Google Cloud Storage 值區,才能在建立值區之後推送 Go 二進位檔。您將會在本節中建立 Cloud Storage 值區。

  1. 開啟終端機視窗。

  2. 使用 gsutil mb 指令與不重複的名稱建立值區。

    gsutil mb gs://[BUCKET_NAME]/
    

    其中 [BUCKET_NAME] 是您自己的全域不重複值區名稱。

    如果成功,指令會傳回以下內容:

    Creating gs://[BUCKET_NAME]/...
    

    您已經建立了值區,可以開始儲存您的內容!

    如果您的值區名稱已由您或其他人使用中,指令會傳回以下內容:

    Creating gs://[BUCKET_NAME]/...
    ServiceException: 409 Bucket [BUCKET_NAME] already exists.
    

    請使用其他值區名稱再試一次。

設定建構

您可以指定您要 Cloud Build 在建構設定檔中執行的動作,這些動作會指定為建構步驟,建構步驟會使用建構工具來執行您的工作。建構工具是安裝了一般語言與工具的容器映像檔。Cloud Build 提供一組由 Google 維護的建構工具。在本節中,您將會使用這些建構工具建構 Go 二進位檔,並將二進位檔儲存在 Google Cloud Storage。

  • 在內含 main.go 的同一個目錄中,建立名為 cloudbuild.yaml 的檔案,其中含有下列內容。這個檔案是您的建構設定檔。在建構階段,Cloud Build 會將 $PROJECT_ID 自動取代為您的專案 ID。

    steps:
    - name: 'gcr.io/cloud-builders/go'
      args: ['install', '.']
      env: ['PROJECT_ROOT=hello']
    - name: 'gcr.io/cloud-builders/go'
      args: ['build', 'hello']
      env: ['PROJECT_ROOT=hello']
    artifacts:
      objects:
        location: 'gs://[BUCKET_NAME]/'
        paths: ['hello']
    

    以上設定檔包含兩個建構步驟。建構步驟的 name 是指用來執行工作的建構工具args 欄位會將引數清單傳送給建構工具。env 欄位會採用執行步驟時使用的環境變數;在以上範例中指令了根專案。在此設定檔中:

    • 第一個建構步驟呼叫了 go 建構工具來安裝依附元件。
    • 第二個建構步驟呼叫了 go 建構工具來建構二進位檔。
    • artifacts 欄位可用來將二進位檔儲存至 Cloud Storage 值區。

啟動建構

  • 執行 gcloud builds submit 指令來啟動建構:

    gcloud builds submit --config cloudbuild.yaml .
    

    建構完成時,畫面會顯示類似以下的輸出:

    PUSH
    DONE
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    
    ID                                    CREATE_TIME                DURATION  SOURCE                                                                                  IMAGES  STATUS
    $BUILD_ID                             2018-01-25T15:36:40+00:00  10S       gs://[PROJECT_ID]_cloudbuild/source/1516894599.15-25da391996554cdf81fb7786f914d7f1.tgz  -       SUCCESS
    

    您已經使用建構設定檔建構了 Go 二進位檔,並將二進位檔儲存在 Cloud Storage 值區。

查看建構詳細資料

  1. 在 Google Cloud Platform 主控台開啟「Cloud Build」頁面。

    開啟 Cloud Build 頁面

  2. 選取您的專案並按一下 [Open] (開啟)

    畫面會顯示「Build history」(建構歷史記錄) 頁面:

    建構記錄頁面的螢幕擷圖

  3. 按一下某個建構。

    畫面會顯示「Build details」(建構歷史記錄) 頁面,類似以下螢幕擷圖:

    建構詳細資料頁面的螢幕擷圖

清除所用資源

如要避免系統向您的 GCP 帳戶收取您在本快速入門導覽課程中所用資源的相關費用:

  1. 開啟終端機視窗 (如果尚未開啟)。

  2. 使用 gsutil rm command 指令加上 -r 標記來刪除值區及值區內的任何內容,將 [BUCKET_NAME] 取代為您的值區名稱:

    gsutil rm -r gs://[BUCKET_NAME]
    

    如果成功,指令會傳回類似以下的訊息:

    Removing gs://[BUCKET_NAME]/just-a-folder/cloud-storage.logo.png#1456530077282000...
    Removing gs://[BUCKET_NAME]/...
    

    本快速入門導覽課程期間建立的成果,一律會從您的專案中刪除。

就這麼簡單,您已經完成本快速入門導覽課程!

後續步驟

傳送您對下列選項的寶貴意見...

這個網頁
Cloud Build