生成和测试 Go 项目

Azure DevOps Services

使用管道自动生成和测试 Go 项目。

Create your first pipeline(创建第一个管道)

你是 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 组织,并转到你的项目。

  2. 转到“管道”,然后选择“新建管道”或是“创建管道”(如果是首次创建管道)。

  3. 完成向导中的各个步骤。首先选择 GitHub 作为源代码位置。

  4. 可能会重定向到 GitHub 进行登录。 如果是这样,请输入 GitHub 凭据。

  5. 看到存储库列表时,请选择你的存储库。

  6. 你可能会被重定向到 GitHub 来安装 Azure Pipelines 应用。 如果是,请选择批准并安装

出现“ 配置 ”选项卡时,选择“ Go”。 您的新管道已出现,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)'

测试

使用 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 作业”选项时,管道构建将生效。

由于代码似乎非常适合 Go 模板,因此我们会自动创建管道。

现在你的存储库中已经有一个正常工作的 YAML 管道 (azure-pipelines.yml),你可以对其进行自定义了!

准备好更改管道后,请在管道页面中选择该管道,然后选择编辑来编辑 azure-pipelines.yml 文件。

小提示

若要更改本文中所述的 YAML 文件,请在 “管道 ”页中选择管道,然后选择“ 编辑” 以打开文件的编辑器 azure-pipelines.yml显示如何在仪表板中编辑 Azure 管道的屏幕截图,其中选择了“更多”选项并突出显示了“编辑”。

生成映像并推送到容器注册表

对于 Go 应用,还可以 生成映像 并将其 推送到容器注册表

适用于 Visual Studio Code 的 Go 扩展