生成和测试 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 仪表板。
- 在浏览器中,转到 dev.azure.com 并登录。
- 选择你的组织。
- 通过选择新建项目或创建项目(如果是在组织中创建第一个项目)来创建一个新项目。
- 输入项目名称。
- 选择项目的可见性。
- 选择创建。
- 在浏览器中,转到 Azure DevOps Server。
- 选择你的集合。
- 通过选择新建项目或创建项目(如果是在集合中创建第一个项目)来创建一个新项目。
- 输入项目名称。
- 选择项目的可见性。
- 选择创建。
创建管道
登录到你的 Azure DevOps 组织,并转到你的项目。
转到“管道”,然后选择“新建管道”或是“创建管道”(如果是首次创建管道)。
完成向导中的各个步骤。首先选择 GitHub 作为源代码位置。
可能会重定向到 GitHub 进行登录。 如果是这样,请输入 GitHub 凭据。
看到存储库列表时,请选择你的存储库。
你可能会被重定向到 GitHub 来安装 Azure Pipelines 应用。 如果是,请选择批准并安装。
出现“配置”选项卡时,选择“Go”。 新管道随即出现,可以配置其 azure-pipelines.yml
YAML 文件。 请参阅以下部分来了解一些比较常见的管道自定义方法。
生成环境
可以使用 Azure Pipelines 生成 Go 项目,而无需设置你自己的任何基础结构。 可以使用 Linux、macOS 或 Windows 代理来运行你的生成。
更新 azure-pipelines.yml
文件中的以下代码片段以选择适当的映像。
pool:
vmImage: 'ubuntu-latest'
Microsoft 托管的代理上预装了较新版本的 Go。 有关确切的 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 文件提交到存储库并更新提交消息。 选择“保存并运行”。
如果你要监视管道的运行情况,请在 Azure Pipelines 仪表板上的“作业”选项中选择该生成。
因为你的代码看起来与 Go 模板非常匹配,因此我们自动创建了你的管道。
现在你的存储库中有一个正常工作的 YAML 管道 (azure-pipelines.yml
),你可以对其进行自定义!
准备好更改管道后,请在“管道”页面中选择它,然后选择“编辑”来编辑 azure-pipelines.yml
文件。
提示
若要按照本文中所述更改 YAML 文件,请在“管道”页中选择管道,然后选择“编辑”打开 azure-pipelines.yml
文件的编辑器。
生成映像并推送到容器注册表
对于 Go 应用,还可以生成映像并并将其推送到容器注册表。
相关扩展
Visual Studio Code 的 Go 扩展 (Microsoft)