之前写过一篇用 Powershell 部署 Service Fabric Application 到本地集群的随笔,感觉过程有点复杂,这次将流程简化,只需要将应用程序打包,加上配置文件就可以了。

 

# 该脚本用于部署到本机集群,若有错误,欢迎指正。

# Variables
# 自行修改下面参数

## 应用打包后的文件夹路径
$PackagePath="C:\pkg\Release"

## 应用配置文件路径,对应 Service Fabric App/ApplicationParameters/*.xml
$ApplicationParameterFilePath = "C:\ApplicationParameters\Local.1Node.xml"

######################### 以下内容请不要轻易修改 #########################

$Endpoint = 'localhost:19000'
$CopyPackageTimeoutSec = 6000
$CompressPackage = $false

#references
try
{
  ## 该脚本是安装 Service Fabric SDK 后生成的,以下是默认路径,如安装时修改了安装路径,请自行修改。
  . "C:\Program Files\Microsoft SDKs\Service Fabric\Tools\PSModule\ServiceFabricSDK\Utilities.ps1"
}
catch
{
  Write-Warning 'Can not reference files.'
  throw
}

# Connect to the cluster using a client certificate.
Connect-ServiceFabricCluster -ConnectionEndpoint $Endpoint

# Get Application Type Name, Application Name and Application Parameters.
try
{
  $Names = Get-NamesFromApplicationManifest -ApplicationManifestPath "$PackagePath\ApplicationManifest.xml"
  $ApplicationTypeName = $Names.ApplicationTypeName
  $ApplicationTypeVersion = $Names.ApplicationTypeVersion

  $ApplicationName = ([xml] (Get-Content $ApplicationParameterFilePath)).Application.Name

  $ApplicationParameter = Get-ApplicationParametersFromApplicationParameterFile $ApplicationParameterFilePath
}
catch
{
  Write-Warning 'Unable to read Application Type Name, Application Name and Application Parameters.'
  throw
}

try
{
  # Copy the application package to the cluster image store.
  Write-Host 'Copying application to image store...'
  Copy-ServiceFabricApplicationPackage -ApplicationPackagePath $PackagePath -ApplicationPackagePathInImageStore $ApplicationTypeName -TimeOutSec $CopyPackageTimeoutSec -CompressPackage:$CompressPackage
}
catch
{
  Write-Error 'Copying application to image store failed.'
  throw
}

try
{
  # Register the application type.
  Write-Host 'Registering application type...'
  Register-ServiceFabricApplicationType -ApplicationPathInImageStore $ApplicationTypeName -TimeoutSec 6000
}
catch
{
  Write-Error 'Registering application type failed.'
  throw
}

try
{
  # Remove the application package to free system resources.
  Write-Host 'Removing application package from image store...'
  Remove-ServiceFabricApplicationPackage -ApplicationPackagePathInImageStore $ApplicationTypeName -TimeoutSec 6000
}
catch
{
  Write-Error 'Removing application package from image store failed.'
  throw
}

# Create the application instance.
Write-Host 'Creating application...'
New-ServiceFabricApplication -ApplicationName $ApplicationName -ApplicationTypeName $ApplicationTypeName -ApplicationTypeVersion $ApplicationTypeVersion -ApplicationParameter $ApplicationParameter -TimeoutSec 6000
if(!$?)
{
  throw "Creation of application failed."
}

Write-Host 'Create application succeeded.'

Powershell Deploy Service Fabric Application To Local Cluster的更多相关文章

  1. Jenkins中使用Azure Powershell连接Service Fabric报错not recognized的原因与解决办法

    一.使用背景 在涉及Azure service Fabric的自动化应用场景中,依赖于Service Fabric的Azure Powershell cmdlets,我们可以使用Jenkins能实现c ...

  2. How to deploy JAVA Application on Azure Service Fabric

    At this moment, Azure Service Fabric does not support JAVA application natively (but it's on the sup ...

  3. Service Fabric 用 Powershell 部署应用到本地

    前置说明 安装 Service Fabric SDK,会在本机 C:\Program Files\Microsoft SDKs\Service Fabric\Tools\PSModule\Servic ...

  4. 【Azure微服务 Service Fabric 】Service Fabric中应用开启外部访问端口及微服务之间通过反向代理端口访问问题

    问题描述 1) 当成功的在Service Fabric集群中部署了应用后,如何来访问呢?如果是一个Web服务,它的URL又是什么呢? 2) 当Service Fabric集群中,服务之间如需要相互访问 ...

  5. Service Fabric基本概念: Node, Application, Service, Partition/Replicas

    作者:张鼎松 (Dingsong Zhang) @ Microsoft 在上一节中,为大家简明扼要的介绍了微软针对现代分布式系统在Azure上实现的相关服务组件.紧接上文内容,本节将为大家介绍Azur ...

  6. Service Fabric Cluster Manager

    作者:潘罡 (Van Pan)@ Microsoft 我们回到Service Fabric最底层的话题,谈谈Service Fabric是怎么工作的. 首先,我们回到下面的文档,看看Service F ...

  7. 【Service Fabric】小白入门记录 本地Service Fabric集群安装及设置

    本篇内容是自学自记,现在我还不知道Service Fabric究竟是怎么个入门法,反正按照入门教程先进行本地Service Fabric集群的安装,万里路始于足下,要学习总得先把环境装好了才能开始学习 ...

  8. Service Fabric 与 Ocelot 集成

    概要 云应用程序通常都需要使用前端网关,为用户.设备或其他应用程序提供同一个入口点. 在 Service Fabric 中,网关可以是任意无状态服务(如 ASP.NET Core 应用程序) . 本文 ...

  9. Service Fabric SfDevCluster目录从默认的C盘移动

    管理员权限打开Powershell CD\ 回车 CD "C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup" ...

随机推荐

  1. 洛谷 3803 【模板】多项式乘法(FFT)

    题目:https://www.luogu.org/problemnew/show/P3803 第一道FFT! https://www.cnblogs.com/zwfymqz/p/8244902.htm ...

  2. BZOJ4604:The kth maximum number

    浅谈离线分治算法:https://www.cnblogs.com/AKMer/p/10415556.html 题目传送门:https://lydsy.com/JudgeOnline/problem.p ...

  3. 13.Selenium不再支持PhantomJS

    在网上查看Selenium教程,发现很多都是使用PhantomJS进行爬虫,故想学习下,下载好了PhantomJS,配好了环境变量,编写代码后发现以下错误 from selenium import w ...

  4. Jet Brains家族XX方法

    声明:本文转载自 https://www.jianshu.com/p/f404994e2843 2018/11/23

  5. eclipse -- propedit 安装.

    SSH 项目中.用到国际化文件,Message.properties 但里面的文本都是 unicode 格式的,用起来不谁.而且也不想通过其它工具转码来使用. 可以通过安装 eclipse 的 pro ...

  6. Java创建AD(Active Directory)域控制器用户 (未测)

    import java.util.Hashtable; import javax.naming.ldap.*; import javax.naming.directory.*; import java ...

  7. Java基础--压缩和解压缩gz包

    gz是Linux和OSX中常见的压缩文件格式,下面是用java压缩和解压缩gz包的例子 public class GZIPcompress { public static void FileCompr ...

  8. $timeout()定时器

    非常不幸的一点是,人们似乎常常将AngularJS中的$timeOut()函数看做是一个内置的.无须在意的函数.但是,如果你忘记了$timeOut()的回调函数将会造成非常不好的影响,你可能会因此遇到 ...

  9. JeeSite入门介绍(一)

    JeeSite特点:高效.高性能.强安全性属于开源.JavaEE快速开发平台:接私活的最佳助手: JeeSite是在Spring Framework基础上搭建的一个Java基础开发平台,以Spring ...

  10. php大型网站如何提高性能和并发访问

    一.大型网站性能提高策略: 大型网站,比如门户网站,在面对大量用户访问.高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器.高性能的数据库.高效率的编程语言.还有高性能的Web容器. ...