建置及測試 Go 專案

Azure DevOps Services

使用管線來自動建置及測試您的 Go 專案。

建立您的第一個管線

Azure Pipelines 的新功能? 若是如此,建議您先嘗試本節,再移至其他區段。

在 GitHub 派生下列存放庫:

https://github.com/MicrosoftDocs/pipelines-go

登入 Azure Pipelines

登入 Azure Pipelines。 登入之後,您的瀏覽器會前往 https://dev.azure.com/my-organization-name 並顯示您的 Azure DevOps 儀表板。

  1. 在瀏覽器中,移至 dev.azure.com 並登入。
  2. 選取您的組織。
  3. 選取 [新增專案 ] 或 [在組織中建立第一個專案時建立專案],以建立新的專案
  4. 輸入項目名稱
  5. 選取項目的可見度
  6. 選取 建立
  1. 在瀏覽器中,移至您的 Azure DevOps Server。
  2. 選取您的集合。
  3. 選取 [新增專案 ] 或 [在集合中建立第一個專案時建立專案],以建立新的專案
  4. 輸入項目名稱
  5. 選取項目的可見度
  6. 選取 建立

建立管線

  1. 登入您的 Azure DevOps 組織並前往您的專案。

  2. 移至 [管線],然後在建立第一個管線時選取 [ 新增管線 ] 或 [建立管線 ]。

  3. 執行精靈的步驟,首先選取 [GitHub] 作為您的原始程式碼位置。

  4. 系統可能會將您重新導向至 GitHub 以進行登入。 若是如此,請輸入 GitHub 認證。

  5. 當您看到存放庫清單時,請選取您的存放庫。

  6. 系統可能會將您重新導向至 GitHub,以安裝 Azure Pipelines 應用程式。 如果發生此情況,請選取 [核准並安裝]

當 [設定 ] 索引標籤出現時,請選取 [ 移至]。 您的新管線隨即出現,並 azure-pipelines.yml 已準備好設定 YAML 檔案。 請參閱下列各節,以瞭解自定義管線的一些更常見方式。

建置環境

您可以使用 Azure Pipelines 來建置 Go 專案,而不需設定您自己的任何基礎結構。 您可以使用 Linux、macOS 或 Windows 代理程式來執行組建。

更新檔案 azure-pipelines.yml 中的下列代碼段,以選取適當的映像。

pool:
  vmImage: 'ubuntu-latest'

新式 Go 版本會預安裝在 Microsoft 裝載的代理程式上。 如需預安裝 Go 的確切版本,請參閱 Azure Pipelines 中的 Microsoft 裝載代理程式。

設定 Go

從 Go 1.11 開始,您不再需要定義 $GOPATH 環境、設定工作區配置或使用 dep 模組。 相依性管理現在已內建。

此 YAML 會實作 go get 命令來下載 Go 套件及其相依性。 然後,它會使用 go build 來產生以 PublishBuildArtifacts@1 工作發佈的內容。

trigger: 
 - main

pool:
   vmImage: 'ubuntu-latest'

steps: 
- task: GoTool@0
  inputs:
    version: '1.13.5'
- task: Go@0
  inputs:
    command: 'get'
    arguments: '-d'
    workingDirectory: '$(System.DefaultWorkingDirectory)'
- task: Go@0
  inputs:
    command: 'build'
    workingDirectory: '$(System.DefaultWorkingDirectory)'
- task: CopyFiles@2
  inputs:
    TargetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
  inputs:
     artifactName: drop

組建

使用 go build 來建置您的 Go 專案。 將下列代碼段新增至您的 azure-pipelines.yml 檔案:

- task: Go@0
  inputs:
    command: 'build'
    workingDirectory: '$(System.DefaultWorkingDirectory)'

Test

用來 go test 測試您的go模組及其子目錄 (./...)。 將下列代碼段新增至您的 azure-pipelines.yml 檔案:

- task: Go@0
  inputs:
    command: 'test'
    arguments: '-v'
    workingDirectory: '$(System.DefaultWorkingDirectory)'

當您準備好時,請將新的 azure-pipelines.yml 檔案認可至存放庫,並更新認可訊息。 選取儲存並執行

在新的 YAML 管線中儲存並執行按鈕

如果您想要監看管線的運作情形,請選取 Azure Pipelines 儀錶板上 [作業] 選項中的組建。 選取 [Azure Pipelines Jobs] 選項時,管線建置會運作。

因為您的程式代碼似乎與 Go 範本相符,所以我們會自動建立您的管線。

您現在已在存放庫中有一個可運作的 YAML 管線 (azure-pipelines.yml),可供您自定義!

當您準備好變更管線時,請在 [管線] 頁面中選取它,然後編輯azure-pipelines.yml檔案。

提示

若要如本文所述變更 YAML 檔案,請在 [管線] 頁面中選取管線,然後選取 [編輯] 以開啟檔案的azure-pipelines.yml編輯器。 顯示如何從儀錶板編輯 Azure Pipeline 的螢幕快照,其中已選取更多選項並醒目提示 [編輯]。

建置映像並推送至容器登錄

針對您的 Go 應用程式,您也可以 建置映像 ,並將其 推送至容器登錄

適用於 Visual Studio Code 的 Go 延伸模組 (Microsoft)