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 仪表板。
- 在浏览器中,转到 dev.azure.com 并登录。
- 选择你的组织。
- 通过选择新建项目或创建项目(如果是在组织中创建第一个项目)来创建一个新项目。
- 输入项目名称。
- 选择项目的可见性。
- 选择 创建。
创建管道
登录到你的 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'
新式 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 文件提交到存储库并更新提交消息。 选择保存并运行。
如果想要查看管道的运行情况,请在 Azure Pipelines 仪表板上的作业选项中选择构建。
由于代码似乎非常适合 Go 模板,因此我们会自动创建管道。
现在你的存储库中已经有一个正常工作的 YAML 管道 (azure-pipelines.yml
),你可以对其进行自定义了!
准备好更改管道后,请在管道页面中选择该管道,然后选择编辑来编辑 azure-pipelines.yml
文件。
小提示
若要更改本文中所述的 YAML 文件,请在 “管道 ”页中选择管道,然后选择“ 编辑” 以打开文件的编辑器 azure-pipelines.yml
。
生成映像并推送到容器注册表
对于 Go 应用,还可以 生成映像 并将其 推送到容器注册表。