前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Github部署Azure应用服务

使用Github部署Azure应用服务

作者头像
MJ.Zhou
发布2020-12-16 17:42:06
6840
发布2020-12-16 17:42:06
举报
文章被收录于专栏:.NET开发那点事.NET开发那点事

上次我们介绍了如何使用Azure应用服务(不用虚机不用Docker使用Azure应用服务部署ASP.NET Core程序)。我们通过Visual studio新建一个项目后手动编译发布代码。然后通过FTP上传我们的发布文件。整个过程跟我们手动发布项目到IIS上其实没啥差别。 这么操作有点繁琐,显然在这年头也有点过时了。这次我们来玩一下azure应用比较高级的持续部署。说高级其实也很简单,Azure现在跟github有比较深入的集成,只有通过鼠标点几下,立马就完成了。 话不多说,下面就演示下吧。

配置部署中心

如何新建应用服务因为前面讲过了就不在赘述了。直接从配置部署中心开始吧。

rZ2jUI.png
rZ2jUI.png

点击侧边“部署中心”,在弹出的页面上选择“Github”。 点击“继续”弹出github授权界面。

rZ2XVA.png
rZ2XVA.png

点击“Authorize AzureAppService”同意授权。

rZ2Lbd.png
rZ2Lbd.png

点击“下一步”配置生成提供程序,选择“Github Actions”。

rZ2qDH.png
rZ2qDH.png

点击“下一步”弹出配置界面,这个页面可以选择github上的仓库。 我随便选一个以前提交上去的RazorpageCrudDemo吧。分支选择master。运行时堆栈选择:.net core,版本 .net core 3.1 lts 。

# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
# More GitHub Actions for Azure: https://github.com/Azure/actions

name: Build and deploy ASP.Net Core app to Azure Web App - az-app-service-01

on:
  push:
    branches:
      - master

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@master

    - name: Set up .NET Core
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: '3.1.102'

    - name: Build with dotnet
      run: dotnet build --configuration Release

    - name: dotnet publish
      run: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/myapp

    - name: Deploy to Azure Web App
      uses: azure/webapps-deploy@v2
      with:
        app-name: 'az-app-service-01'
        slot-name: 'production'
        publish-profile: ${{ secrets.AzureAppService_PublishProfile_677a6a0b22a146f8b67ab3e6372bbd60 }}
        package: ${{env.DOTNET_ROOT}}/myapp 

点击“完成”会自动生成一个yml文件。这个yml配置的就是github的action workflow。我们的azure应用服务跟github就是通过它串起来的。

验证部署

rZ2TgO.png
rZ2TgO.png

切换到github的actions页面。会发有一个build and deploy的job正在运行。

rZ244x.png
rZ244x.png

等待这个job运行成功后,我们就可以访问azure应用服务的url地址了。

rZ2fER.png
rZ2fER.png

访问一下azure应用服务对应的url,出现了asp.net core的默认页面。说明我们的部署成功了。

rZ2hU1.png
rZ2hU1.png

在访问下里面的页面,也成功渲染出来了。

持续部署(CD)

@page
@model IndexModel
@{
    ViewData["Title"] = "Home page";
}

<div class="text-center">
    <h1 class="display-4">Azure App deploy with Github</h1>
    <p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
</div>

既然是持续部署(CD),那么我们尝试下修改项目的首页,然后提交代码,看会不会自动部署代码。

rZ2o8K.png
rZ2o8K.png

提交完代码后,github的actions页面立马又出现了一个job。

rZ2IC6.png
rZ2IC6.png

等待job完成之后,再次访问azure服务应用的url,果然首页变成了我们修改的样子,说明持续部署成功了。

关注我的公众号一起玩转技术

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-12-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置部署中心
  • 验证部署
  • 持续部署(CD)
  • 关注我的公众号一起玩转技术
相关产品与服务
持续部署
CODING 持续部署(CODING Continuous Deployment,CODING-CD)用以管理软件在经过构建之后的发布和部署交付过程,可以无缝对接上游 Git 仓库、制品仓库实现全自动化部署,同时支持 Webhook 等外部对接能力,方便集成各种开发、运维工具。在配以合适的技术架构、运维工具的基础上,可以方便地实现蓝绿发布、灰度发布(金丝雀发布)、滚动发布、快速回滚等功能。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档