Azure App Service(一)利用Azure DevOps Pipeline 构建镜像,部署应用程序
一,引言
起因是前两天项目上做测试,需要我把写好的基于.NET 5 的 Web 测试程序作成 Docker 镜像。当我在本地验证完功能后,准备利用 Docker 构建应用程序镜像的时候,发现系统不支持安装 Docker Desktop。这下看来只能利用Azure DevOps 自动创建 Docker 镜像了。
二,正文
1,创建 Azure Container Registry 服务
前置条件,我们得先手动创建 镜像存储库。我们登录到 Azure Portal 上,点击 “Create a resource”,搜索 “Container Registry”

输入相关参数
Registry name:“appconfig”
Location:‘Asia“
SKU:”Basic“
再次检查一下输入或者选择的参数,并且点击 ”Review + create“

创建前的预校验完成后,点击 ”Create“ 创建 Azure Container Registry

等待创建完成后,我们就可以转到资源查看当前 Container Registry 的相关信息了

2,Azure DevOps 设置Pipeline
首先得先创建一个新的项目 ”CnBateBlogWeb“
Project name:”CnBateBlogWeb“

创建完项目后,选择 Pipeline ,点击 ”Create Pipeline“

选择 ”GitHub YAML“(根据自己实际的项目存储的代码库选择)

连接到自己的测试代码所在的 github 账号,作为演示,选择 "CnBateBlogWeb" 的代码库

接下啦,我们需要配置当前pipeline,目前我们需要选择先构建项目,然将 images 推动到 Azure Container Registry,
如果找到相似的模板,需要点击箭头所指的地方 ”Show more“ 展示更多

选择 Docker (Build and push an images to Azure Container Registry)

选择 Azure 订阅

填写相关参数
Container registry 选择:”appconfig“
Image Name :”cnbateblogweb.net.demo“
点击 ”Validate and configure“ 验证和配置 pipeline.yaml

Azure DevOps 为我们生成好了 pipeline 的配置项(配置内容不是今天文章讲解的重点),点击 ”Save and run“

点击 ”Run“

等下构建中,我们可以通过日志查看当前构建信息

等构建完成后,我们回到Azure Portal 中查看当前存储库中的镜像信息,选择 "Services =》Repositories"

当前镜像的详细信息(Tags 等于3,是因为我在运行Azure DevOps 的Pipeline 的时候,取消了两次构建,并且Tag 为当前Pipeline 的Build.BuildId)

最后,我们需要配置开启使用 ”username“ & ”password“ 作为docker 的登录信息登录到 Azure Container Registry 上
选择 ”Setting =》Access keys“,开启 ”Admin user“

3,部署 Images 到 Azure Web App
Azure Portal 选择 "Web App",并输入相关参数
Name:”cnbateblogweb“
Publish 选择:”Docker Container“
Operation System:”Linux“
Region:”East Asia“
Sku and size :如果是测试、学习,尽量免费的
配置完相关参数后,点击 ”Next:Docker“

Image Source 选择 :”Azure Container Registry“
Registry 选择:”appconfig“
Image 选择:”cnbateblogwebnetdemo“
Tag 选择:”3“
输入完相关参数后,点击 ”Review + create“

点击 ”Create“ 进行创建

等待创建完成后,点击 ”Go to resource“ 转到该资源

接下来,我们需要配置环境变量参数 "Location",“ASPNETCORE_ENVIRONMENT”,“WEBSITES_PORT”
注意:"Location",“ASPNETCORE_ENVIRONMENT” 是我们应用程序中需要使用到的,而 "WEBSITES_PORT" 是需要自定义镜像映射使用的端口 “9021”

配置完 Azure App Service 的环境变量后,我们复制 URL 在浏览器中尝试访问

OK,成功!!!!*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。
Azure App Service(一)利用Azure DevOps Pipeline 构建镜像,部署应用程序的更多相关文章
- 如何将Azure DevOps中的代码发布到Azure App Service中
标题:如何将Azure DevOps中的代码发布到Azure App Service中 作者:Lamond Lu 背景 最近做了几个项目一直在用Azure DevOps和Azure App Servi ...
- Azure DevOps(二)利用Azure DevOps Pipeline 构建基础设施资源
一,引言 上一篇文章记录了利用 Azure DevOps 跨云进行构建 Docker images,并且将构建好的 Docker Images 推送到 AWS 的 ECR 中.今天我们继续讲解 Azu ...
- Azure Front Door(一)为基于.net core 开发的Azure App Service 提供流量转发
一,引言 之前我们讲解到使用 Azure Traffic Manager.Azure LoadBalancer.Azure Application Gateway,作为项目的负载均衡器来分发流量,转发 ...
- 改善Azure App Service托管应用程序性能的几个技巧
本文介绍了几个技巧,这些技巧可以改善Azure App Service托管应用程序的性能.其中一些技巧是你现在就可以进行的配置变更, 而其他技巧则可能需要对应用程序进行一些重新设计和重构. 开发者都希 ...
- 【应用服务 App Service】Azure App Service 中如何安装mcrypt - PHP
问题描述 Azure App Service (应用服务)如何安装PHP的扩展 mcrypt(mcrypt 是php里面重要的加密支持扩展库) 准备条件 创建App Service, Runtime ...
- 【应用服务 App Service】在Azure App Service中使用WebSocket - PHP的问题 - 如何使用和调用
问题描述 在Azure App Service中,有对.Net,Java的WebSocket支持的示例代码,但是没有成功的PHP代码. 以下的步骤则是如何基于Azure App Service实现PH ...
- 【应用服务 App Service】当遇见某些域名在Azure App Service中无法解析的错误,可以通过设置指定DNS解析服务器来解决
问题情形 当访问部署在Azure App Service中的应用返回 "The remote name could not be resolved: ''xxxxxx.com'" ...
- 【Azure App Service】C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Application
问题描述 C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Ap ...
- 【Azure App Service For Container】创建ASP.NET Core Blazor项目并打包为Linux镜像发布到Azure应用服务
欢迎使用 Blazor!Blazor 是一个使用 .NET 生成交互式客户端 Web UI 的框架: 使用 C# 代替 JavaScript 来创建信息丰富的交互式 UI. 共享使用 .NET 编写的 ...
随机推荐
- 如何获取豆瓣电影 API Key
如何获取豆瓣电影 API Key 豆瓣 API Key 不能使用了 ! solutions & !== ? https://frodo.douban.com/api/v2/subject_co ...
- day1 分布式基础概念
1. 分布式:一个业务分拆多个子业务,部署在不同的服务器上集群:同一个业务,部署在多个服务器上节点:集群中的一个服务器 2.远程调用 分布式系统中调用其它主机 springcloud用http+jso ...
- 死磕Spring之IoC篇 - BeanDefinition 的解析阶段(XML 文件)
该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读 Spring 版本:5.1. ...
- [计算机图形学]光栅化算法:DDA和Bresenham算法
目录 一.DDA 二.Bresenham 三.绘制图形 1. 绘制直线 2. 绘制圆 3. 绘制椭圆 一.DDA DDA算法是最简单的直线绘制算法.主要思想是利用直线的斜截式:\(y=kx+b\) 对 ...
- golang知识总结
目录 1.slice扩容规则 2.内存寻址.内存对齐,go结构体内存对齐策略 3.go语言map类型分析 3.1 hash冲突 3.2 hash表扩容 3.3 go语言中的map结构是hash表. 3 ...
- Linux graphics stack
2D图形架构 早期Linux图形系统的显示全部依赖X Server,X Client调用Xlib提供的借口向 X Server发送渲染命令,X Server根据 X Client的命令请求向硬件设备绘 ...
- Dos常用命令整理
Dos常用命令整理 打开cmd的方法 开始菜单 -> 系统 -> 命令提示符 组合键Win+R打开运行 -> 输入cmd 在任意文件夹下Shift+鼠标右键 -> 在此处打开命 ...
- javascript中的闭包closure详解
目录 简介 函数中的函数 Closure闭包 使用闭包实现private方法 闭包的Scope Chain 闭包常见的问题 闭包性能的问题 总结 简介 闭包closure是javascript中一个非 ...
- 详解JavaScript中的原型
前言 原型.原型链应该是被大多数前端er说烂的词,但是应该还有很多人不能完整的解释这两个内容,当然也包括我自己. 最早一篇原型链文章写于2019年07月,那个时候也是费了老大劲才理解到了七八成,到现在 ...
- System.Net.Mail邮件发送抄送附件(多个)
/// <summary> /// 邮件发送抄送附件 /// </summary> /// <param name="mailTo">收件人(可 ...