【Azure Fabric Service】演示使用PowerShell命令部署SF应用程序(.NET)
问题描述
在中国区微软云Azure上使用Service Fabrics服务,本地通过Visual Studio 2022的发布.NET应用,发现无法发布!

在搜寻官方文档之后,可以通过PowerShell命令来进行发布。本文参考的文档如下:
1:将应用程序部署到 Service Fabric 群集 (https://docs.azure.cn/zh-cn/service-fabric/scripts/service-fabric-powershell-deploy-application)
2:使用 PowerShell 部署和删除应用程序(https://docs.azure.cn/zh-cn/service-fabric/service-fabric-deploy-remove-applications)
# Login China Azure
Connect-AzAccount -Environment AzureChinaCloud # set your default subscription
Select-AzSubscription -Subscription 'xx-x-x-x-xxx' # Variables
$endpoint = 'mysftestcluster.chinaeast.cloudapp.chinacloudapi.cn:19000'
#获取SF托管集群的服务证书指纹
$serverThumbprint = (Get-AzResource -ResourceId /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ServiceFabric/managedclusters/mysfcluster)
.Properties.clusterCertificateThumbprints
$clientThumbprint = '2779F0BB9A969FB88E04915FFE7955D0389DA7AF' $packagepath="C:\....\Projects\MyApplication\MyApplication\pkg\Release" ##连接到SF托管集群
Connect-ServiceFabricCluster -ConnectionEndpoint $endpoint -KeepAliveIntervalInSec 10 `
-X509Credential `
-ServerCertThumbprint $serverThumbprint `
-FindType FindByThumbprint `
-FindValue $clientThumbprint `
-StoreLocation CurrentUser `
-StoreName My # Copy the application package to the cluster image store.
Copy-ServiceFabricApplicationPackage $packagepath -ApplicationPackagePathInImageStore MyApplication # Register the application type.
Register-ServiceFabricApplicationType -ApplicationPathInImageStore MyApplication # list application type in SF Cluster
Get-ServiceFabricApplicationType # Create the application instance.
New-ServiceFabricApplication -ApplicationName fabric:/MySFApp02 -ApplicationTypeName myApp02Type -ApplicationTypeVersion 1.0.0
本文通过图文方式来一步一步展示 部署过程!
问题解答
按照以上脚本,登录到China Azure后,最重要的操作是如何使用 Connect-ServiceFabricCluster 连接到SF托管集群。
PS: SF托管集群和自建集群在这里的区别主要是服务器证书指纹需要通过命令获取。而自建集群的服务证书指纹(serverThumbprint)和客户端证书指纹(clientThumbprint)是相同的。
当然,也可以直接在门户中同时获取这两个证书指纹值(Azure 门户 --> SF Overview页面 --> JSON View -> 查看 Properties 值)

准备好参数后,开始一步一步部署SF应用!
第一步:在Visual Studio 2022中打包应用部署包
- 右键,选择Package, 在输出结果中复制应用包路径

第二步:连接到SF集群,上传部署包,并在Service Fabric Explorer中查看
PS: SF Explorer地址:https://<your sf cluster name>.<chinanorth3>.cloudapp.chinacloudapi.cn:19080/Explorer,在打开页面时需要验证本地证书,所以需要在本地环境中安装客户端证书(创建集群时候所设置的证书)。

第三步:注册并创建应用实例并启动服务
- Register-ServiceFabricApplicationType : 在群集上注册应用程序类型和版本。
- Get-ServiceFabricApplicationType : 获取集群上已经注册的应用程序类型 和版本。
- New-ServiceFabricApplication : 从注册的应用程序类型创建应用程序。

特别注意:还差最后一步让服务运行起来。
进入SF explorer页面中,选择第三步创建的Application,在Service Types部分中,点击Create后,才能让服务正真的运行起来。

当应用中的服务状态变为OK后,即是成功!
PS: 此种方式,确实比Visual Studio 2022的直接部署步骤复杂很多。
参考资料
将应用程序部署到 Service Fabric 群集 (https://docs.azure.cn/zh-cn/service-fabric/scripts/service-fabric-powershell-deploy-application)
使用 PowerShell 部署和删除应用程序(https://docs.azure.cn/zh-cn/service-fabric/service-fabric-deploy-remove-applications)
【Azure Fabric Service】演示使用PowerShell命令部署SF应用程序(.NET)的更多相关文章
- PowerShell命令部署WSP
转载:http://www.cnblogs.com/ChunLiangZhang/archive/2012/07/18/2597335.html(作者:ChunLiang) 现在可以用SharePoi ...
- 【Azure 云服务】如何从Azure Cloud Service中获取项目的部署文件
问题描述 在历史已经部署的云服务(Azure Cloud Service)中,如何获取到项目在很久以前的部署包文件呢? 解决办法 1)如果部署云服务是通过门户上传部署包到存储账号中,则可以直接从存储账 ...
- 使用PowerShell自动部署ASP.NetCore程序到IIS
Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能.有关于更多PowerShell的信息,可参阅百度词条 接 ...
- 适用于 Azure 虚拟网络的常见 PowerShell 命令
如果想要创建虚拟机,需要创建虚拟网络或了解可在其中添加 VM 的现有虚拟网络. 通常情况下,创建 VM 时,还需考虑创建本文所述资源. 有关安装最新版 Azure PowerShell.选择订阅和登录 ...
- Azure导出所有用户权限---powershell命令
直接运行脚本 #requires -Version 3.0 -Modules AzureRM.Resourcesparam( [switch] $GroupRolesB ...
- 使用PowerShell快速部署Win12R2虚拟化桌面
PowerShell一直是微软windows_Server产品中重要的一部分,可以通过PowerShell来完成所有的服务器配置,甚至一些在图形界面下无法完成的事情.随着每一个新版本的微软产品或者服务 ...
- ASP.NET Core在Azure Kubernetes Service中的部署和管理
目录 ASP.NET Core在Azure Kubernetes Service中的部署和管理 目标 准备工作 注册 Azure 账户 AKS文档 进入Azure门户(控制台) 安装 Azure Cl ...
- 【Azure 应用服务】App Service 在使用GIt本地部署,上传代码的路径为/home/site/repository,而不是站点的根目录/home/site/wwwroot。 这个是因为什么?
问题描述 App Service 在使用GIt本地部署,上传代码的路径为/home/site/repository,而不是站点的根目录/home/site/wwwroot. 这个是因为什么? 并且通过 ...
- Azure App Service(一)利用Azure DevOps Pipeline 构建镜像,部署应用程序
一,引言 起因是前两天项目上做测试,需要我把写好的基于.NET 5 的 Web 测试程序作成 Docker 镜像.当我在本地验证完功能后,准备利用 Docker 构建应用程序镜像的时候,发现系统不支持 ...
- 在Jenkins中执行 PowerShell 命令实现高效的CD/CI部署
相比于cmd,powershell支持插件.语法扩展和自定义扩展名,是智能化部署中闪闪的新星,越来越多的开发者偏爱使用Powershell. 如何让Jenkins支持Powershell呢?本文即展开 ...
随机推荐
- UML之属性与参数的多重性
在UML中,多重性是指一个条目潜在的数量范围.多重性可被用于属性.操作参数.关联关系.UML元模型也使用多重性对元模型元素之间的关系进行约束.多重性总是包含基数值,它是相关条目在现实世界中的确切数量. ...
- 🤺Universal and Transferable Adversarial Attacks on😊Aligned Language Models
- 开源 Material Design WPF UI 控件库,易用且功能强大
前言 Material Design 是由 Google 开发的一套设计指南,提供统一的设计语言,使用户界面更加直观.美观和一致. Material Design In XAML Toolkit 是一 ...
- 【Windows】修改虚拟内存位置
问题:系统优化中,希望将pagefile.sys文件(即虚拟内存)移动到其他盘中,在网上查找解决办法,找了很多,按照方法设置完成后,pagefile.sys文件依然存在,后来,找到了一篇文章解决了,现 ...
- runoob-设计模式
https://www.runoob.com/design-pattern/design-pattern-tutorial.html 设计模式(Design pattern)代表了最佳的实践,通常被有 ...
- linux安装软件配置
CentOS7更换yum为阿里源 1 备份本地源mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backu ...
- Golang-基本语法2
http://c.biancheng.net/golang/syntax/ Go语言变量的声明(使用var关键字) Go语言是静态类型语言,因此变量(variable)是有明确类型的,编译器也会检查变 ...
- TCA 复习
HTML中预览PDF 手机端无法识别embed <embed src="***.pdf" id="review" style="width:11 ...
- gitblit 安装
github 私有代码库收费属于正常商业操作,毕竟现在鼓励开源,但是受到美国出口管制,这就有些不妙了. 所以有必要自己搭建一个私有的托管服务,经过比较并且,选择了gitblit(因为最近偶尔搞搞jav ...
- 去除小程序scroll-view产生的横向滚动条
<template> <view class="page-demo"> <scroll-view class="scrool-more&qu ...