📅  最后修改于: 2023-12-03 15:02:56.776000             🧑  作者: Mango
Microsoft Azure是一种云计算平台,可为企业提供安全的云服务,包括云存储、虚拟机和数据管理。Azure应用服务是Azure平台的一种服务,允许用户轻松构建、部署和扩展Web应用程序和API。
Github Action是Github官方提供的一种工作流服务,可以将常见的CI/CD任务封装为自动化脚本,与Github代码库紧密集成。
使用Github Action可以将项目自动部署到Azure应用服务。具体步骤如下:
在Azure应用服务中创建Web应用程序,记录下Web应用程序的名称和发布用户名/密码。
在Github的仓库中创建一个workflow文件,用于构建和部署应用程序。
name: Azure App Service
on:
push:
branches:
- main
env:
AZURE_WEBAPP_NAME: <Web应用程序名称>
AZURE_WEBAPP_PACKAGE_PATH: '.\**\*.zip'
AZURE_WEBAPP_PUBLISH_USERNAME: <发布用户名>
AZURE_WEBAPP_PUBLISH_PASSWORD: <发布密码>
jobs:
build-and-deploy:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Node.js 12.x
uses: actions/setup-node@v1
with:
node-version: '12.x'
- name: npm install, build, and test
run: |
npm install
npm run build --if-present
npm test --if-present
- name: Upload artifact for deployment job
uses: actions/upload-artifact@v2
with:
name: node-app
path: ${{ env.AZURE_WEBAPP_PACKAGE_PATH }}
- name: 'Deploy to Azure WebApp'
uses: azure/webapps-deploy@v2
with:
app-name: ${{ env.AZURE_WEBAPP_NAME }}
slot-name: <你的部署槽名称> # 可选,将此行注释掉以使用生产插槽
publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}
package: ${{ env.AZURE_WEBAPP_PACKAGE_PATH }}
将workflow文件提交到仓库中,并创建名为“AZURE_WEBAPP_PUBLISH_PROFILE”的secret,值是从Azure应用服务控制台中下载的发布配置文件。
推送代码,Github Action将自动构建和部署应用程序。
使用Github Action和Azure应用服务可以实现自动化持续部署,并且可以轻松地管理和维护应用程序。在实际应用中,我们可以使用其他工具替代或补充Github Action,例如Jenkins和TeamCity等CI/CD工具,以满足不同的需求。