使用 Docker 模板构建 Docker 映像并将其推送到 Azure 容器注册表
Azure DevOps Services
本分步教程介绍如何设置持续集成管道来生成容器化应用程序。 新的拉取请求会触发管道生成 Docker 映像并将其发布到 Azure 容器注册表。
先决条件
一个 GitHub 帐户。 创建免费的 GitHub 帐户(如果还没有该帐户)。
一个 Azure 帐户。 注册免费的 Azure 帐户(如果还没有该帐户)。
获取代码
对 pipeline-javascript-docker 示例应用程序进行分支或克隆:
https://github.com/MicrosoftDocs/pipelines-javascript-docker
创建容器注册表
登录到 Azure,然后选择右上角的“Azure Cloud Shell”按钮。
运行以下命令,以使用 Azure CLI 创建资源组和 Azure 容器注册表。
# Create a resource group az group create --name myapp-rg --location eastus # Create a container registry az acr create --resource-group myapp-rg --name mycontainerregistry --sku Basic
注意
容器注册表名称必须是小写。
还可以使用 Azure 门户 Web UI 创建 Azure 容器注册表。 有关详细信息,请参阅创建容器注册表。
重要
必须启用管理员用户帐户,才能从 Azure 容器注册表部署 Docker 映像。 如需更多详细信息,请参阅容器注册表身份验证。
创建管道
登录到 Azure DevOps 组织,并导航到你的项目。
选择“管道”,然后选择“新建管道”,以创建新管道。
选择“GitHub YAML”,然后选择“授权 Azure Pipelines”,以提供访问存储库的相应权限。
系统可能会要求你登录到 GitHub。 如果是这样,请输入 GitHub 凭据,然后从存储库列表中选择存储库。
从“配置”选项卡中,选择“Docker - 生成映像并将其推送到 Azure 容器注册表”任务。
选择你的“Azure 订阅”,然后选择“继续”。
从下拉菜单中选择“容器注册表”,然后为容器映像提供“映像名称”。
完成后,选择“验证并配置”。
Azure Pipelines 在创建管道的过程中会执行以下操作:
创建一个 Docker 注册表服务连接,使管道能够将映像推送到容器注册表。
生成一个 azure-pipelines.yml 文件用于定义管道。
查看管道 YAML,然后在准备就绪后选择“保存并运行”。
添加“提交消息”,然后选择“保存并运行”以提交所做的更改并运行管道。
管道运行时,选择生成作业来观察管道运行情况。
如何生成管道
我们刚刚在上一部分创建的管道是从 Docker 容器模板 YAML 生成的。 生成阶段使用 Docker 任务Docker@2
生成 Docker 映像并将其推送到容器注册表。
- stage: Build
displayName: Build and push stage
jobs:
- job: Build
displayName: Build job
pool:
vmImage: $(vmImageName)
steps:
- task: Docker@2
displayName: Build and push an image to container registry
inputs:
command: buildAndPush
repository: $(imageRepository)
dockerfile: $(dockerfilePath)
containerRegistry: $(dockerRegistryServiceConnection)
tags: |
$(tag)
清理资源
如果不打算继续使用此应用程序,可以删除在本教程中创建的资源,以免持续产生费用。 运行以下命令以删除资源组。
az group delete --name myapp-rg