云资源的自动部署已成为现代信息技术业务的关键部分. GitHub Actions等工具的部署,简化了Azure资源的工作流程,减少了手动错误,加速了项目交付. 本文探讨了如何使用GitHub Actions实现Azure资源的自动部署.

理解基本情况

GitHub Actions是一个连续集成和连续部署(CI/CD)平台,允许开发人员直接在其GitHub寄存器中实现工作流程自动化. Azure,微软的云平台,提供虚拟机,数据库,App服务等多种资源,可以通过脚本和API自动提供.

先决条件

  • 持有必要许可的Azure账户
  • 您工程的 GitHub 仓库
  • Azure 本地安装的初始设置 CLI
  • 服务主任,在阿苏尔担任贡献者

设立阿苏尔服务处

首先,创建服务主机,允许 GitHub 动作与 Azure 认证。 使用 Azure CLI :

注意下方的 appid , 密码字 ,和 tenant 。这些将被添加为GitHub中的秘密。

配置 GitHub 密钥

导航到您的 GitHub 仓库, 然后转到设置 & gt; 密钥 & gt; 动作 。 添加以下机密 :

  • AZURE CLIENT ID :你的开胃菜
  • AZURE SECRET :您的密码
  • AZURE TENANT ID:你的房客
  • AZURE subSCritication ID :您的订阅ID

创建 GitHub 动作工作流程

在您的仓库中, 在 下创建一个新的工作流程文件。 此文件将定义自动部署 Azure 资源的步骤 。

name: Deploy Azure Resources

on:
 push:
 branches:
 - main

jobs:
 build-and-deploy:
 runs-on: ubuntu-latest
 steps:
 - name: Checkout code
 uses: actions/checkout@v3

 - name: Login to Azure
 uses: azure/login@v1
 with:
 client-id: ${{ secrets.AZURE_CLIENT_ID }}
 client-secret: ${{ secrets.AZURE_SECRET }}
 tenant-id: ${{ secrets.AZURE_TENANT_ID }}

 - name: Deploy Resources
 run: |
 az account set --subscription ${{ secrets.AZURE_SUBSCRIPTION_ID }}
 az deployment group create \
 --resource-group myResourceGroup \
 --template-file azuredeploy.json \
 --parameters @azuredeploy.parameters.json

此工作流程登录到 Azure 中, 并基于您的 ARM 模板部署资源。 您可以自定义部署命令, 以适应您特定的资源配置需求 。

自动化部署的好处

  • 连续和可重复的部署
  • 加快提供资源
  • 减少手工错误
  • 改进协作和跟踪

采用GitHub Actions和Azure自动部署管道,大大加强了你的DevOps操作,确保可靠和高效的云资源管理。