@ -1,34 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<ApplicationManifest ApplicationTypeName="BusType" | |||||
ApplicationTypeVersion="1.0.0" | |||||
xmlns="http://schemas.microsoft.com/2011/01/fabric" | |||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
<Parameter Name="RabbitMQ_InstanceCount" DefaultValue="-1" /> | |||||
</Parameters> | |||||
<!-- Import the ServiceManifest from the ServicePackage. The ServiceManifestName and ServiceManifestVersion | |||||
should match the Name and Version attributes of the ServiceManifest element defined in the | |||||
ServiceManifest.xml file. --> | |||||
<ServiceManifestImport> | |||||
<ServiceManifestRef ServiceManifestName="RabbitMQPkg" ServiceManifestVersion="1.0.0" /> | |||||
<ConfigOverrides /> | |||||
<Policies> | |||||
<ContainerHostPolicies CodePackageRef="Code"> | |||||
<PortBinding ContainerPort="5672" EndpointRef="RabbitMQTypeEndpoint"/> | |||||
</ContainerHostPolicies> | |||||
</Policies> | |||||
</ServiceManifestImport> | |||||
<DefaultServices> | |||||
<!-- The section below creates instances of service types, when an instance of this | |||||
application type is created. You can also create one or more instances of service type using the | |||||
ServiceFabric PowerShell module. | |||||
The attribute ServiceTypeName below must match the name defined in the imported ServiceManifest.xml file. --> | |||||
<Service Name="RabbitMQ" ServiceDnsName="rabbitmq.eshoponservicefabricbus" ServicePackageActivationMode="ExclusiveProcess"> | |||||
<StatelessService ServiceTypeName="RabbitMQType" InstanceCount="[RabbitMQ_InstanceCount]"> | |||||
<SingletonPartition /> | |||||
</StatelessService> | |||||
</Service> | |||||
</DefaultServices> | |||||
</ApplicationManifest> |
@ -1,9 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8" ?> | |||||
<Settings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2011/01/fabric"> | |||||
<!-- Add your custom configuration sections and parameters here --> | |||||
<!-- | |||||
<Section Name="MyConfigSection"> | |||||
<Parameter Name="MyParameter" Value="Value1" /> | |||||
</Section> | |||||
--> | |||||
</Settings> |
@ -1,41 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<ServiceManifest Name="RabbitMQPkg" | |||||
Version="1.0.0" | |||||
xmlns="http://schemas.microsoft.com/2011/01/fabric" | |||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<ServiceTypes> | |||||
<!-- This is the name of your ServiceType. | |||||
The UseImplicitHost attribute indicates this is a guest service. --> | |||||
<StatelessServiceType ServiceTypeName="RabbitMQType" UseImplicitHost="true" /> | |||||
</ServiceTypes> | |||||
<!-- Code package is your service executable. --> | |||||
<CodePackage Name="Code" Version="1.0.0"> | |||||
<EntryPoint> | |||||
<!-- Follow this link for more information about deploying Windows containers to Service Fabric: https://aka.ms/sfguestcontainers --> | |||||
<ContainerHost> | |||||
<ImageName>rabbitmq:3-management</ImageName> | |||||
</ContainerHost> | |||||
</EntryPoint> | |||||
<!-- Pass environment variables to your container: --> | |||||
<!-- | |||||
<EnvironmentVariables> | |||||
<EnvironmentVariable Name="VariableName" Value="VariableValue"/> | |||||
</EnvironmentVariables> | |||||
--> | |||||
</CodePackage> | |||||
<!-- Config package is the contents of the Config directoy under PackageRoot that contains an | |||||
independently-updateable and versioned set of custom configuration settings for your service. --> | |||||
<ConfigPackage Name="Config" Version="1.0.0" /> | |||||
<Resources> | |||||
<Endpoints> | |||||
<!-- This endpoint is used by the communication listener to obtain the port on which to | |||||
listen. Please note that if your service is partitioned, this port is shared with | |||||
replicas of different partitions that are placed in your code. --> | |||||
<Endpoint Name="RabbitMQTypeEndpoint" Protocol="tcp" Port="5672"/> | |||||
</Endpoints> | |||||
</Resources> | |||||
</ServiceManifest> |
@ -1,6 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Application Name="fabric:/Bus" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
<Parameter Name="RabbitMQ_InstanceCount" Value="1" /> | |||||
</Parameters> | |||||
</Application> |
@ -1,5 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Application Name="fabric:/Bus" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
</Parameters> | |||||
</Application> |
@ -1,5 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Application Name="fabric:/Bus" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
</Parameters> | |||||
</Application> |
@ -1,46 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" InitialTargets=";ValidateMSBuildFiles"> | |||||
<Import Project="..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props" Condition="Exists('..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props')" /> | |||||
<PropertyGroup Label="Globals"> | |||||
<ProjectGuid>f29e27c9-0d5e-4a57-adbf-dd651649d2a1</ProjectGuid> | |||||
<ProjectVersion>1.7</ProjectVersion> | |||||
<MinToolsVersion>1.5</MinToolsVersion> | |||||
<SupportedMSBuildNuGetPackageVersion>1.6</SupportedMSBuildNuGetPackageVersion> | |||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> | |||||
</PropertyGroup> | |||||
<ItemGroup Label="ProjectConfigurations"> | |||||
<ProjectConfiguration Include="Debug|x64"> | |||||
<Configuration>Debug</Configuration> | |||||
<Platform>x64</Platform> | |||||
</ProjectConfiguration> | |||||
<ProjectConfiguration Include="Release|x64"> | |||||
<Configuration>Release</Configuration> | |||||
<Platform>x64</Platform> | |||||
</ProjectConfiguration> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<None Include="ApplicationPackageRoot\ApplicationManifest.xml" /> | |||||
<None Include="ApplicationParameters\Cloud.xml" /> | |||||
<None Include="ApplicationParameters\Local.1Node.xml" /> | |||||
<None Include="ApplicationParameters\Local.5Node.xml" /> | |||||
<None Include="PublishProfiles\Cloud.xml" /> | |||||
<None Include="PublishProfiles\Local.1Node.xml" /> | |||||
<None Include="PublishProfiles\Local.5Node.xml" /> | |||||
<None Include="Scripts\Deploy-FabricApplication.ps1" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<Content Include="ApplicationPackageRoot\RabbitMQPkg\Config\Settings.xml" /> | |||||
<Content Include="ApplicationPackageRoot\RabbitMQPkg\ServiceManifest.xml" /> | |||||
<Content Include="packages.config" /> | |||||
</ItemGroup> | |||||
<Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" /> | |||||
<PropertyGroup> | |||||
<ApplicationProjectTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Service Fabric Tools\Microsoft.VisualStudio.Azure.Fabric.ApplicationProject.targets</ApplicationProjectTargetsPath> | |||||
</PropertyGroup> | |||||
<Import Project="$(ApplicationProjectTargetsPath)" Condition="Exists('$(ApplicationProjectTargetsPath)')" /> | |||||
<Import Project="..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets" Condition="Exists('..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets')" /> | |||||
<Target Name="ValidateMSBuildFiles"> | |||||
<Error Condition="!Exists('..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props')" Text="Unable to find the '..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props' file. Please restore the 'Microsoft.VisualStudio.Azure.Fabric.MSBuild' Nuget package" /> | |||||
<Error Condition="!Exists('..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets')" Text="Unable to find the '..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets' file. Please restore the 'Microsoft.VisualStudio.Azure.Fabric.MSBuild' Nuget package" /> | |||||
</Target> | |||||
</Project> |
@ -1,25 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<PublishProfile xmlns="http://schemas.microsoft.com/2015/05/fabrictools"> | |||||
<!-- ClusterConnectionParameters allows you to specify the PowerShell parameters to use when connecting to the Service Fabric cluster. | |||||
Valid parameters are any that are accepted by the Connect-ServiceFabricCluster cmdlet. | |||||
For a remote cluster, you would need to specify the appropriate parameters for that specific cluster. | |||||
For example: <ClusterConnectionParameters ConnectionEndpoint="mycluster.westus.cloudapp.azure.com:19000" /> | |||||
Example showing parameters for a cluster that uses certificate security: | |||||
<ClusterConnectionParameters ConnectionEndpoint="mycluster.westus.cloudapp.azure.com:19000" | |||||
X509Credential="true" | |||||
ServerCertThumbprint="0123456789012345678901234567890123456789" | |||||
FindType="FindByThumbprint" | |||||
FindValue="9876543210987654321098765432109876543210" | |||||
StoreLocation="CurrentUser" | |||||
StoreName="My" /> | |||||
Example showing parameters for a cluster that uses Azure Active Directory (AAD) security: | |||||
<ClusterConnectionParameters ConnectionEndpoint="mycluster.westus.cloudapp.azure.com:19000" | |||||
AzureActiveDirectory="true" | |||||
ServerCertThumbprint="0123456789012345678901234567890123456789" /> | |||||
--> | |||||
<ClusterConnectionParameters ConnectionEndpoint="#{your_sf_dns}#:19000" /> | |||||
<ApplicationParameterFile Path="..\ApplicationParameters\Cloud.xml" /> | |||||
</PublishProfile> |
@ -1,11 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<PublishProfile xmlns="http://schemas.microsoft.com/2015/05/fabrictools"> | |||||
<!-- ClusterConnectionParameters allows you to specify the PowerShell parameters to use when connecting to the Service Fabric cluster. | |||||
Valid parameters are any that are accepted by the Connect-ServiceFabricCluster cmdlet. | |||||
For a local cluster, you would typically not use any parameters. | |||||
For example: <ClusterConnectionParameters /> | |||||
--> | |||||
<ClusterConnectionParameters /> | |||||
<ApplicationParameterFile Path="..\ApplicationParameters\Local.1Node.xml" /> | |||||
</PublishProfile> |
@ -1,11 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<PublishProfile xmlns="http://schemas.microsoft.com/2015/05/fabrictools"> | |||||
<!-- ClusterConnectionParameters allows you to specify the PowerShell parameters to use when connecting to the Service Fabric cluster. | |||||
Valid parameters are any that are accepted by the Connect-ServiceFabricCluster cmdlet. | |||||
For a local cluster, you would typically not use any parameters. | |||||
For example: <ClusterConnectionParameters /> | |||||
--> | |||||
<ClusterConnectionParameters /> | |||||
<ApplicationParameterFile Path="..\ApplicationParameters\Local.5Node.xml" /> | |||||
</PublishProfile> |
@ -1,258 +0,0 @@ | |||||
<# | |||||
.SYNOPSIS | |||||
Deploys a Service Fabric application type to a cluster. | |||||
.DESCRIPTION | |||||
This script deploys a Service Fabric application type to a cluster. It is invoked by Visual Studio when deploying a Service Fabric Application project. | |||||
.NOTES | |||||
WARNING: This script file is invoked by Visual Studio. Its parameters must not be altered but its logic can be customized as necessary. | |||||
.PARAMETER PublishProfileFile | |||||
Path to the file containing the publish profile. | |||||
.PARAMETER ApplicationPackagePath | |||||
Path to the folder of the packaged Service Fabric application. | |||||
.PARAMETER DeployOnly | |||||
Indicates that the Service Fabric application should not be created or upgraded after registering the application type. | |||||
.PARAMETER ApplicationParameter | |||||
Hashtable of the Service Fabric application parameters to be used for the application. | |||||
.PARAMETER UnregisterUnusedApplicationVersionsAfterUpgrade | |||||
Indicates whether to unregister any unused application versions that exist after an upgrade is finished. | |||||
.PARAMETER OverrideUpgradeBehavior | |||||
Indicates the behavior used to override the upgrade settings specified by the publish profile. | |||||
'None' indicates that the upgrade settings will not be overridden. | |||||
'ForceUpgrade' indicates that an upgrade will occur with default settings, regardless of what is specified in the publish profile. | |||||
'VetoUpgrade' indicates that an upgrade will not occur, regardless of what is specified in the publish profile. | |||||
.PARAMETER UseExistingClusterConnection | |||||
Indicates that the script should make use of an existing cluster connection that has already been established in the PowerShell session. The cluster connection parameters configured in the publish profile are ignored. | |||||
.PARAMETER OverwriteBehavior | |||||
Overwrite Behavior if an application exists in the cluster with the same name. Available Options are Never, Always, SameAppTypeAndVersion. This setting is not applicable when upgrading an application. | |||||
'Never' will not remove the existing application. This is the default behavior. | |||||
'Always' will remove the existing application even if its Application type and Version is different from the application being created. | |||||
'SameAppTypeAndVersion' will remove the existing application only if its Application type and Version is same as the application being created. | |||||
.PARAMETER SkipPackageValidation | |||||
Switch signaling whether the package should be validated or not before deployment. | |||||
.PARAMETER SecurityToken | |||||
A security token for authentication to cluster management endpoints. Used for silent authentication to clusters that are protected by Azure Active Directory. | |||||
.PARAMETER CopyPackageTimeoutSec | |||||
Timeout in seconds for copying application package to image store. | |||||
.EXAMPLE | |||||
. Scripts\Deploy-FabricApplication.ps1 -ApplicationPackagePath 'pkg\Debug' | |||||
Deploy the application using the default package location for a Debug build. | |||||
.EXAMPLE | |||||
. Scripts\Deploy-FabricApplication.ps1 -ApplicationPackagePath 'pkg\Debug' -DoNotCreateApplication | |||||
Deploy the application but do not create the application instance. | |||||
.EXAMPLE | |||||
. Scripts\Deploy-FabricApplication.ps1 -ApplicationPackagePath 'pkg\Debug' -ApplicationParameter @{CustomParameter1='MyValue'; CustomParameter2='MyValue'} | |||||
Deploy the application by providing values for parameters that are defined in the application manifest. | |||||
#> | |||||
Param | |||||
( | |||||
[String] | |||||
$PublishProfileFile, | |||||
[String] | |||||
$ApplicationPackagePath, | |||||
[Switch] | |||||
$DeployOnly, | |||||
[Hashtable] | |||||
$ApplicationParameter, | |||||
[Boolean] | |||||
$UnregisterUnusedApplicationVersionsAfterUpgrade, | |||||
[String] | |||||
[ValidateSet('None', 'ForceUpgrade', 'VetoUpgrade')] | |||||
$OverrideUpgradeBehavior = 'None', | |||||
[Switch] | |||||
$UseExistingClusterConnection, | |||||
[String] | |||||
[ValidateSet('Never','Always','SameAppTypeAndVersion')] | |||||
$OverwriteBehavior = 'Never', | |||||
[Switch] | |||||
$SkipPackageValidation, | |||||
[String] | |||||
$SecurityToken, | |||||
[int] | |||||
$CopyPackageTimeoutSec | |||||
) | |||||
function Read-XmlElementAsHashtable | |||||
{ | |||||
Param ( | |||||
[System.Xml.XmlElement] | |||||
$Element | |||||
) | |||||
$hashtable = @{} | |||||
if ($Element.Attributes) | |||||
{ | |||||
$Element.Attributes | | |||||
ForEach-Object { | |||||
$boolVal = $null | |||||
if ([bool]::TryParse($_.Value, [ref]$boolVal)) { | |||||
$hashtable[$_.Name] = $boolVal | |||||
} | |||||
else { | |||||
$hashtable[$_.Name] = $_.Value | |||||
} | |||||
} | |||||
} | |||||
return $hashtable | |||||
} | |||||
function Read-PublishProfile | |||||
{ | |||||
Param ( | |||||
[ValidateScript({Test-Path $_ -PathType Leaf})] | |||||
[String] | |||||
$PublishProfileFile | |||||
) | |||||
$publishProfileXml = [Xml] (Get-Content $PublishProfileFile) | |||||
$publishProfile = @{} | |||||
$publishProfile.ClusterConnectionParameters = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("ClusterConnectionParameters") | |||||
$publishProfile.UpgradeDeployment = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("UpgradeDeployment") | |||||
$publishProfile.CopyPackageParameters = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("CopyPackageParameters") | |||||
if ($publishProfileXml.PublishProfile.Item("UpgradeDeployment")) | |||||
{ | |||||
$publishProfile.UpgradeDeployment.Parameters = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("UpgradeDeployment").Item("Parameters") | |||||
if ($publishProfile.UpgradeDeployment["Mode"]) | |||||
{ | |||||
$publishProfile.UpgradeDeployment.Parameters[$publishProfile.UpgradeDeployment["Mode"]] = $true | |||||
} | |||||
} | |||||
$publishProfileFolder = (Split-Path $PublishProfileFile) | |||||
$publishProfile.ApplicationParameterFile = [System.IO.Path]::Combine($PublishProfileFolder, $publishProfileXml.PublishProfile.ApplicationParameterFile.Path) | |||||
return $publishProfile | |||||
} | |||||
$LocalFolder = (Split-Path $MyInvocation.MyCommand.Path) | |||||
if (!$PublishProfileFile) | |||||
{ | |||||
$PublishProfileFile = "$LocalFolder\..\PublishProfiles\Local.xml" | |||||
} | |||||
if (!$ApplicationPackagePath) | |||||
{ | |||||
$ApplicationPackagePath = "$LocalFolder\..\pkg\Release" | |||||
} | |||||
$ApplicationPackagePath = Resolve-Path $ApplicationPackagePath | |||||
$publishProfile = Read-PublishProfile $PublishProfileFile | |||||
if (-not $UseExistingClusterConnection) | |||||
{ | |||||
$ClusterConnectionParameters = $publishProfile.ClusterConnectionParameters | |||||
if ($SecurityToken) | |||||
{ | |||||
$ClusterConnectionParameters["SecurityToken"] = $SecurityToken | |||||
} | |||||
try | |||||
{ | |||||
[void](Connect-ServiceFabricCluster @ClusterConnectionParameters) | |||||
} | |||||
catch [System.Fabric.FabricObjectClosedException] | |||||
{ | |||||
Write-Warning "Service Fabric cluster may not be connected." | |||||
throw | |||||
} | |||||
} | |||||
$RegKey = "HKLM:\SOFTWARE\Microsoft\Service Fabric SDK" | |||||
$ModuleFolderPath = (Get-ItemProperty -Path $RegKey -Name FabricSDKPSModulePath).FabricSDKPSModulePath | |||||
Import-Module "$ModuleFolderPath\ServiceFabricSDK.psm1" | |||||
$IsUpgrade = ($publishProfile.UpgradeDeployment -and $publishProfile.UpgradeDeployment.Enabled -and $OverrideUpgradeBehavior -ne 'VetoUpgrade') -or $OverrideUpgradeBehavior -eq 'ForceUpgrade' | |||||
$PublishParameters = @{ | |||||
'ApplicationPackagePath' = $ApplicationPackagePath | |||||
'ApplicationParameterFilePath' = $publishProfile.ApplicationParameterFile | |||||
'ApplicationParameter' = $ApplicationParameter | |||||
'ErrorAction' = 'Stop' | |||||
} | |||||
if ($publishProfile.CopyPackageParameters.CopyPackageTimeoutSec) | |||||
{ | |||||
$PublishParameters['CopyPackageTimeoutSec'] = $publishProfile.CopyPackageParameters.CopyPackageTimeoutSec | |||||
} | |||||
if ($publishProfile.CopyPackageParameters.CompressPackage) | |||||
{ | |||||
$PublishParameters['CompressPackage'] = $publishProfile.CopyPackageParameters.CompressPackage | |||||
} | |||||
# CopyPackageTimeoutSec parameter overrides the value from the publish profile | |||||
if ($CopyPackageTimeoutSec) | |||||
{ | |||||
$PublishParameters['CopyPackageTimeoutSec'] = $CopyPackageTimeoutSec | |||||
} | |||||
if ($IsUpgrade) | |||||
{ | |||||
$Action = "RegisterAndUpgrade" | |||||
if ($DeployOnly) | |||||
{ | |||||
$Action = "Register" | |||||
} | |||||
$UpgradeParameters = $publishProfile.UpgradeDeployment.Parameters | |||||
if ($OverrideUpgradeBehavior -eq 'ForceUpgrade') | |||||
{ | |||||
# Warning: Do not alter these upgrade parameters. It will create an inconsistency with Visual Studio's behavior. | |||||
$UpgradeParameters = @{ UnmonitoredAuto = $true; Force = $true } | |||||
} | |||||
$PublishParameters['Action'] = $Action | |||||
$PublishParameters['UpgradeParameters'] = $UpgradeParameters | |||||
$PublishParameters['UnregisterUnusedVersions'] = $UnregisterUnusedApplicationVersionsAfterUpgrade | |||||
Publish-UpgradedServiceFabricApplication @PublishParameters | |||||
} | |||||
else | |||||
{ | |||||
$Action = "RegisterAndCreate" | |||||
if ($DeployOnly) | |||||
{ | |||||
$Action = "Register" | |||||
} | |||||
$PublishParameters['Action'] = $Action | |||||
$PublishParameters['OverwriteBehavior'] = $OverwriteBehavior | |||||
$PublishParameters['SkipPackageValidation'] = $SkipPackageValidation | |||||
Publish-NewServiceFabricApplication @PublishParameters | |||||
} |
@ -1,4 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<packages> | |||||
<package id="Microsoft.VisualStudio.Azure.Fabric.MSBuild" version="1.6.1" targetFramework="net461" /> | |||||
</packages> |
@ -1,34 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<ApplicationManifest ApplicationTypeName="NoSQLType" | |||||
ApplicationTypeVersion="1.0.0" | |||||
xmlns="http://schemas.microsoft.com/2011/01/fabric" | |||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
<Parameter Name="MongoDB_InstanceCount" DefaultValue="-1" /> | |||||
</Parameters> | |||||
<!-- Import the ServiceManifest from the ServicePackage. The ServiceManifestName and ServiceManifestVersion | |||||
should match the Name and Version attributes of the ServiceManifest element defined in the | |||||
ServiceManifest.xml file. --> | |||||
<ServiceManifestImport> | |||||
<ServiceManifestRef ServiceManifestName="MongoDBPkg" ServiceManifestVersion="1.0.0" /> | |||||
<ConfigOverrides /> | |||||
<Policies> | |||||
<ContainerHostPolicies CodePackageRef="Code"> | |||||
<PortBinding ContainerPort="27017" EndpointRef="MongoDBTypeEndpoint"/> | |||||
</ContainerHostPolicies> | |||||
</Policies> | |||||
</ServiceManifestImport> | |||||
<DefaultServices> | |||||
<!-- The section below creates instances of service types, when an instance of this | |||||
application type is created. You can also create one or more instances of service type using the | |||||
ServiceFabric PowerShell module. | |||||
The attribute ServiceTypeName below must match the name defined in the imported ServiceManifest.xml file. --> | |||||
<Service Name="MongoDB" ServiceDnsName="mongodb.eshoponservicefabricnosql" ServicePackageActivationMode="ExclusiveProcess"> | |||||
<StatelessService ServiceTypeName="MongoDBType" InstanceCount="[MongoDB_InstanceCount]"> | |||||
<SingletonPartition /> | |||||
</StatelessService> | |||||
</Service> | |||||
</DefaultServices> | |||||
</ApplicationManifest> |
@ -1,9 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8" ?> | |||||
<Settings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2011/01/fabric"> | |||||
<!-- Add your custom configuration sections and parameters here --> | |||||
<!-- | |||||
<Section Name="MyConfigSection"> | |||||
<Parameter Name="MyParameter" Value="Value1" /> | |||||
</Section> | |||||
--> | |||||
</Settings> |
@ -1,41 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<ServiceManifest Name="MongoDBPkg" | |||||
Version="1.0.0" | |||||
xmlns="http://schemas.microsoft.com/2011/01/fabric" | |||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<ServiceTypes> | |||||
<!-- This is the name of your ServiceType. | |||||
The UseImplicitHost attribute indicates this is a guest service. --> | |||||
<StatelessServiceType ServiceTypeName="MongoDBType" UseImplicitHost="true" /> | |||||
</ServiceTypes> | |||||
<!-- Code package is your service executable. --> | |||||
<CodePackage Name="Code" Version="1.0.0"> | |||||
<EntryPoint> | |||||
<!-- Follow this link for more information about deploying Windows containers to Service Fabric: https://aka.ms/sfguestcontainers --> | |||||
<ContainerHost> | |||||
<ImageName>mongo:latest</ImageName> | |||||
</ContainerHost> | |||||
</EntryPoint> | |||||
<!-- Pass environment variables to your container: --> | |||||
<!-- | |||||
<EnvironmentVariables> | |||||
<EnvironmentVariable Name="VariableName" Value="VariableValue"/> | |||||
</EnvironmentVariables> | |||||
--> | |||||
</CodePackage> | |||||
<!-- Config package is the contents of the Config directoy under PackageRoot that contains an | |||||
independently-updateable and versioned set of custom configuration settings for your service. --> | |||||
<ConfigPackage Name="Config" Version="1.0.0" /> | |||||
<Resources> | |||||
<Endpoints> | |||||
<!-- This endpoint is used by the communication listener to obtain the port on which to | |||||
listen. Please note that if your service is partitioned, this port is shared with | |||||
replicas of different partitions that are placed in your code. --> | |||||
<Endpoint Name="MongoDBTypeEndpoint" Protocol="tcp" Port="27017"/> | |||||
</Endpoints> | |||||
</Resources> | |||||
</ServiceManifest> |
@ -1,6 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Application Name="fabric:/NoSQL" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
<Parameter Name="MongoDB_InstanceCount" Value="1" /> | |||||
</Parameters> | |||||
</Application> |
@ -1,5 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Application Name="fabric:/NoSQL" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
</Parameters> | |||||
</Application> |
@ -1,5 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Application Name="fabric:/NoSQL" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
</Parameters> | |||||
</Application> |
@ -1,46 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" InitialTargets=";ValidateMSBuildFiles"> | |||||
<Import Project="..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props" Condition="Exists('..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props')" /> | |||||
<PropertyGroup Label="Globals"> | |||||
<ProjectGuid>eb070036-ec60-49a6-88e1-562a2043c3d7</ProjectGuid> | |||||
<ProjectVersion>1.7</ProjectVersion> | |||||
<MinToolsVersion>1.5</MinToolsVersion> | |||||
<SupportedMSBuildNuGetPackageVersion>1.6</SupportedMSBuildNuGetPackageVersion> | |||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> | |||||
</PropertyGroup> | |||||
<ItemGroup Label="ProjectConfigurations"> | |||||
<ProjectConfiguration Include="Debug|x64"> | |||||
<Configuration>Debug</Configuration> | |||||
<Platform>x64</Platform> | |||||
</ProjectConfiguration> | |||||
<ProjectConfiguration Include="Release|x64"> | |||||
<Configuration>Release</Configuration> | |||||
<Platform>x64</Platform> | |||||
</ProjectConfiguration> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<None Include="ApplicationPackageRoot\ApplicationManifest.xml" /> | |||||
<None Include="ApplicationParameters\Cloud.xml" /> | |||||
<None Include="ApplicationParameters\Local.1Node.xml" /> | |||||
<None Include="ApplicationParameters\Local.5Node.xml" /> | |||||
<None Include="PublishProfiles\Cloud.xml" /> | |||||
<None Include="PublishProfiles\Local.1Node.xml" /> | |||||
<None Include="PublishProfiles\Local.5Node.xml" /> | |||||
<None Include="Scripts\Deploy-FabricApplication.ps1" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<Content Include="ApplicationPackageRoot\MongoDBPkg\Config\Settings.xml" /> | |||||
<Content Include="ApplicationPackageRoot\MongoDBPkg\ServiceManifest.xml" /> | |||||
<Content Include="packages.config" /> | |||||
</ItemGroup> | |||||
<Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" /> | |||||
<PropertyGroup> | |||||
<ApplicationProjectTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Service Fabric Tools\Microsoft.VisualStudio.Azure.Fabric.ApplicationProject.targets</ApplicationProjectTargetsPath> | |||||
</PropertyGroup> | |||||
<Import Project="$(ApplicationProjectTargetsPath)" Condition="Exists('$(ApplicationProjectTargetsPath)')" /> | |||||
<Import Project="..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets" Condition="Exists('..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets')" /> | |||||
<Target Name="ValidateMSBuildFiles"> | |||||
<Error Condition="!Exists('..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props')" Text="Unable to find the '..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props' file. Please restore the 'Microsoft.VisualStudio.Azure.Fabric.MSBuild' Nuget package" /> | |||||
<Error Condition="!Exists('..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets')" Text="Unable to find the '..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets' file. Please restore the 'Microsoft.VisualStudio.Azure.Fabric.MSBuild' Nuget package" /> | |||||
</Target> | |||||
</Project> |
@ -1,25 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<PublishProfile xmlns="http://schemas.microsoft.com/2015/05/fabrictools"> | |||||
<!-- ClusterConnectionParameters allows you to specify the PowerShell parameters to use when connecting to the Service Fabric cluster. | |||||
Valid parameters are any that are accepted by the Connect-ServiceFabricCluster cmdlet. | |||||
For a remote cluster, you would need to specify the appropriate parameters for that specific cluster. | |||||
For example: <ClusterConnectionParameters ConnectionEndpoint="mycluster.westus.cloudapp.azure.com:19000" /> | |||||
Example showing parameters for a cluster that uses certificate security: | |||||
<ClusterConnectionParameters ConnectionEndpoint="mycluster.westus.cloudapp.azure.com:19000" | |||||
X509Credential="true" | |||||
ServerCertThumbprint="0123456789012345678901234567890123456789" | |||||
FindType="FindByThumbprint" | |||||
FindValue="9876543210987654321098765432109876543210" | |||||
StoreLocation="CurrentUser" | |||||
StoreName="My" /> | |||||
Example showing parameters for a cluster that uses Azure Active Directory (AAD) security: | |||||
<ClusterConnectionParameters ConnectionEndpoint="mycluster.westus.cloudapp.azure.com:19000" | |||||
AzureActiveDirectory="true" | |||||
ServerCertThumbprint="0123456789012345678901234567890123456789" /> | |||||
--> | |||||
<ClusterConnectionParameters ConnectionEndpoint="#{your_sf_dns}#:19000" /> | |||||
<ApplicationParameterFile Path="..\ApplicationParameters\Cloud.xml" /> | |||||
</PublishProfile> |
@ -1,11 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<PublishProfile xmlns="http://schemas.microsoft.com/2015/05/fabrictools"> | |||||
<!-- ClusterConnectionParameters allows you to specify the PowerShell parameters to use when connecting to the Service Fabric cluster. | |||||
Valid parameters are any that are accepted by the Connect-ServiceFabricCluster cmdlet. | |||||
For a local cluster, you would typically not use any parameters. | |||||
For example: <ClusterConnectionParameters /> | |||||
--> | |||||
<ClusterConnectionParameters /> | |||||
<ApplicationParameterFile Path="..\ApplicationParameters\Local.1Node.xml" /> | |||||
</PublishProfile> |
@ -1,11 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<PublishProfile xmlns="http://schemas.microsoft.com/2015/05/fabrictools"> | |||||
<!-- ClusterConnectionParameters allows you to specify the PowerShell parameters to use when connecting to the Service Fabric cluster. | |||||
Valid parameters are any that are accepted by the Connect-ServiceFabricCluster cmdlet. | |||||
For a local cluster, you would typically not use any parameters. | |||||
For example: <ClusterConnectionParameters /> | |||||
--> | |||||
<ClusterConnectionParameters /> | |||||
<ApplicationParameterFile Path="..\ApplicationParameters\Local.5Node.xml" /> | |||||
</PublishProfile> |
@ -1,258 +0,0 @@ | |||||
<# | |||||
.SYNOPSIS | |||||
Deploys a Service Fabric application type to a cluster. | |||||
.DESCRIPTION | |||||
This script deploys a Service Fabric application type to a cluster. It is invoked by Visual Studio when deploying a Service Fabric Application project. | |||||
.NOTES | |||||
WARNING: This script file is invoked by Visual Studio. Its parameters must not be altered but its logic can be customized as necessary. | |||||
.PARAMETER PublishProfileFile | |||||
Path to the file containing the publish profile. | |||||
.PARAMETER ApplicationPackagePath | |||||
Path to the folder of the packaged Service Fabric application. | |||||
.PARAMETER DeployOnly | |||||
Indicates that the Service Fabric application should not be created or upgraded after registering the application type. | |||||
.PARAMETER ApplicationParameter | |||||
Hashtable of the Service Fabric application parameters to be used for the application. | |||||
.PARAMETER UnregisterUnusedApplicationVersionsAfterUpgrade | |||||
Indicates whether to unregister any unused application versions that exist after an upgrade is finished. | |||||
.PARAMETER OverrideUpgradeBehavior | |||||
Indicates the behavior used to override the upgrade settings specified by the publish profile. | |||||
'None' indicates that the upgrade settings will not be overridden. | |||||
'ForceUpgrade' indicates that an upgrade will occur with default settings, regardless of what is specified in the publish profile. | |||||
'VetoUpgrade' indicates that an upgrade will not occur, regardless of what is specified in the publish profile. | |||||
.PARAMETER UseExistingClusterConnection | |||||
Indicates that the script should make use of an existing cluster connection that has already been established in the PowerShell session. The cluster connection parameters configured in the publish profile are ignored. | |||||
.PARAMETER OverwriteBehavior | |||||
Overwrite Behavior if an application exists in the cluster with the same name. Available Options are Never, Always, SameAppTypeAndVersion. This setting is not applicable when upgrading an application. | |||||
'Never' will not remove the existing application. This is the default behavior. | |||||
'Always' will remove the existing application even if its Application type and Version is different from the application being created. | |||||
'SameAppTypeAndVersion' will remove the existing application only if its Application type and Version is same as the application being created. | |||||
.PARAMETER SkipPackageValidation | |||||
Switch signaling whether the package should be validated or not before deployment. | |||||
.PARAMETER SecurityToken | |||||
A security token for authentication to cluster management endpoints. Used for silent authentication to clusters that are protected by Azure Active Directory. | |||||
.PARAMETER CopyPackageTimeoutSec | |||||
Timeout in seconds for copying application package to image store. | |||||
.EXAMPLE | |||||
. Scripts\Deploy-FabricApplication.ps1 -ApplicationPackagePath 'pkg\Debug' | |||||
Deploy the application using the default package location for a Debug build. | |||||
.EXAMPLE | |||||
. Scripts\Deploy-FabricApplication.ps1 -ApplicationPackagePath 'pkg\Debug' -DoNotCreateApplication | |||||
Deploy the application but do not create the application instance. | |||||
.EXAMPLE | |||||
. Scripts\Deploy-FabricApplication.ps1 -ApplicationPackagePath 'pkg\Debug' -ApplicationParameter @{CustomParameter1='MyValue'; CustomParameter2='MyValue'} | |||||
Deploy the application by providing values for parameters that are defined in the application manifest. | |||||
#> | |||||
Param | |||||
( | |||||
[String] | |||||
$PublishProfileFile, | |||||
[String] | |||||
$ApplicationPackagePath, | |||||
[Switch] | |||||
$DeployOnly, | |||||
[Hashtable] | |||||
$ApplicationParameter, | |||||
[Boolean] | |||||
$UnregisterUnusedApplicationVersionsAfterUpgrade, | |||||
[String] | |||||
[ValidateSet('None', 'ForceUpgrade', 'VetoUpgrade')] | |||||
$OverrideUpgradeBehavior = 'None', | |||||
[Switch] | |||||
$UseExistingClusterConnection, | |||||
[String] | |||||
[ValidateSet('Never','Always','SameAppTypeAndVersion')] | |||||
$OverwriteBehavior = 'Never', | |||||
[Switch] | |||||
$SkipPackageValidation, | |||||
[String] | |||||
$SecurityToken, | |||||
[int] | |||||
$CopyPackageTimeoutSec | |||||
) | |||||
function Read-XmlElementAsHashtable | |||||
{ | |||||
Param ( | |||||
[System.Xml.XmlElement] | |||||
$Element | |||||
) | |||||
$hashtable = @{} | |||||
if ($Element.Attributes) | |||||
{ | |||||
$Element.Attributes | | |||||
ForEach-Object { | |||||
$boolVal = $null | |||||
if ([bool]::TryParse($_.Value, [ref]$boolVal)) { | |||||
$hashtable[$_.Name] = $boolVal | |||||
} | |||||
else { | |||||
$hashtable[$_.Name] = $_.Value | |||||
} | |||||
} | |||||
} | |||||
return $hashtable | |||||
} | |||||
function Read-PublishProfile | |||||
{ | |||||
Param ( | |||||
[ValidateScript({Test-Path $_ -PathType Leaf})] | |||||
[String] | |||||
$PublishProfileFile | |||||
) | |||||
$publishProfileXml = [Xml] (Get-Content $PublishProfileFile) | |||||
$publishProfile = @{} | |||||
$publishProfile.ClusterConnectionParameters = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("ClusterConnectionParameters") | |||||
$publishProfile.UpgradeDeployment = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("UpgradeDeployment") | |||||
$publishProfile.CopyPackageParameters = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("CopyPackageParameters") | |||||
if ($publishProfileXml.PublishProfile.Item("UpgradeDeployment")) | |||||
{ | |||||
$publishProfile.UpgradeDeployment.Parameters = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("UpgradeDeployment").Item("Parameters") | |||||
if ($publishProfile.UpgradeDeployment["Mode"]) | |||||
{ | |||||
$publishProfile.UpgradeDeployment.Parameters[$publishProfile.UpgradeDeployment["Mode"]] = $true | |||||
} | |||||
} | |||||
$publishProfileFolder = (Split-Path $PublishProfileFile) | |||||
$publishProfile.ApplicationParameterFile = [System.IO.Path]::Combine($PublishProfileFolder, $publishProfileXml.PublishProfile.ApplicationParameterFile.Path) | |||||
return $publishProfile | |||||
} | |||||
$LocalFolder = (Split-Path $MyInvocation.MyCommand.Path) | |||||
if (!$PublishProfileFile) | |||||
{ | |||||
$PublishProfileFile = "$LocalFolder\..\PublishProfiles\Local.xml" | |||||
} | |||||
if (!$ApplicationPackagePath) | |||||
{ | |||||
$ApplicationPackagePath = "$LocalFolder\..\pkg\Release" | |||||
} | |||||
$ApplicationPackagePath = Resolve-Path $ApplicationPackagePath | |||||
$publishProfile = Read-PublishProfile $PublishProfileFile | |||||
if (-not $UseExistingClusterConnection) | |||||
{ | |||||
$ClusterConnectionParameters = $publishProfile.ClusterConnectionParameters | |||||
if ($SecurityToken) | |||||
{ | |||||
$ClusterConnectionParameters["SecurityToken"] = $SecurityToken | |||||
} | |||||
try | |||||
{ | |||||
[void](Connect-ServiceFabricCluster @ClusterConnectionParameters) | |||||
} | |||||
catch [System.Fabric.FabricObjectClosedException] | |||||
{ | |||||
Write-Warning "Service Fabric cluster may not be connected." | |||||
throw | |||||
} | |||||
} | |||||
$RegKey = "HKLM:\SOFTWARE\Microsoft\Service Fabric SDK" | |||||
$ModuleFolderPath = (Get-ItemProperty -Path $RegKey -Name FabricSDKPSModulePath).FabricSDKPSModulePath | |||||
Import-Module "$ModuleFolderPath\ServiceFabricSDK.psm1" | |||||
$IsUpgrade = ($publishProfile.UpgradeDeployment -and $publishProfile.UpgradeDeployment.Enabled -and $OverrideUpgradeBehavior -ne 'VetoUpgrade') -or $OverrideUpgradeBehavior -eq 'ForceUpgrade' | |||||
$PublishParameters = @{ | |||||
'ApplicationPackagePath' = $ApplicationPackagePath | |||||
'ApplicationParameterFilePath' = $publishProfile.ApplicationParameterFile | |||||
'ApplicationParameter' = $ApplicationParameter | |||||
'ErrorAction' = 'Stop' | |||||
} | |||||
if ($publishProfile.CopyPackageParameters.CopyPackageTimeoutSec) | |||||
{ | |||||
$PublishParameters['CopyPackageTimeoutSec'] = $publishProfile.CopyPackageParameters.CopyPackageTimeoutSec | |||||
} | |||||
if ($publishProfile.CopyPackageParameters.CompressPackage) | |||||
{ | |||||
$PublishParameters['CompressPackage'] = $publishProfile.CopyPackageParameters.CompressPackage | |||||
} | |||||
# CopyPackageTimeoutSec parameter overrides the value from the publish profile | |||||
if ($CopyPackageTimeoutSec) | |||||
{ | |||||
$PublishParameters['CopyPackageTimeoutSec'] = $CopyPackageTimeoutSec | |||||
} | |||||
if ($IsUpgrade) | |||||
{ | |||||
$Action = "RegisterAndUpgrade" | |||||
if ($DeployOnly) | |||||
{ | |||||
$Action = "Register" | |||||
} | |||||
$UpgradeParameters = $publishProfile.UpgradeDeployment.Parameters | |||||
if ($OverrideUpgradeBehavior -eq 'ForceUpgrade') | |||||
{ | |||||
# Warning: Do not alter these upgrade parameters. It will create an inconsistency with Visual Studio's behavior. | |||||
$UpgradeParameters = @{ UnmonitoredAuto = $true; Force = $true } | |||||
} | |||||
$PublishParameters['Action'] = $Action | |||||
$PublishParameters['UpgradeParameters'] = $UpgradeParameters | |||||
$PublishParameters['UnregisterUnusedVersions'] = $UnregisterUnusedApplicationVersionsAfterUpgrade | |||||
Publish-UpgradedServiceFabricApplication @PublishParameters | |||||
} | |||||
else | |||||
{ | |||||
$Action = "RegisterAndCreate" | |||||
if ($DeployOnly) | |||||
{ | |||||
$Action = "Register" | |||||
} | |||||
$PublishParameters['Action'] = $Action | |||||
$PublishParameters['OverwriteBehavior'] = $OverwriteBehavior | |||||
$PublishParameters['SkipPackageValidation'] = $SkipPackageValidation | |||||
Publish-NewServiceFabricApplication @PublishParameters | |||||
} |
@ -1,4 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<packages> | |||||
<package id="Microsoft.VisualStudio.Azure.Fabric.MSBuild" version="1.6.1" targetFramework="net461" /> | |||||
</packages> |
@ -1,34 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<ApplicationManifest ApplicationTypeName="RedisType" | |||||
ApplicationTypeVersion="1.0.0" | |||||
xmlns="http://schemas.microsoft.com/2011/01/fabric" | |||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
<Parameter Name="BasketData_InstanceCount" DefaultValue="-1" /> | |||||
</Parameters> | |||||
<!-- Import the ServiceManifest from the ServicePackage. The ServiceManifestName and ServiceManifestVersion | |||||
should match the Name and Version attributes of the ServiceManifest element defined in the | |||||
ServiceManifest.xml file. --> | |||||
<ServiceManifestImport> | |||||
<ServiceManifestRef ServiceManifestName="BasketDataPkg" ServiceManifestVersion="1.0.0" /> | |||||
<ConfigOverrides /> | |||||
<Policies> | |||||
<ContainerHostPolicies CodePackageRef="Code"> | |||||
<PortBinding ContainerPort="6379" EndpointRef="BasketDataTypeEndpoint"/> | |||||
</ContainerHostPolicies> | |||||
</Policies> | |||||
</ServiceManifestImport> | |||||
<DefaultServices> | |||||
<!-- The section below creates instances of service types, when an instance of this | |||||
application type is created. You can also create one or more instances of service type using the | |||||
ServiceFabric PowerShell module. | |||||
The attribute ServiceTypeName below must match the name defined in the imported ServiceManifest.xml file. --> | |||||
<Service Name="BasketData" ServiceDnsName="basketdata.eshoponservicefabricredis" ServicePackageActivationMode="ExclusiveProcess"> | |||||
<StatelessService ServiceTypeName="BasketDataType" InstanceCount="[BasketData_InstanceCount]"> | |||||
<SingletonPartition /> | |||||
</StatelessService> | |||||
</Service> | |||||
</DefaultServices> | |||||
</ApplicationManifest> |
@ -1,9 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8" ?> | |||||
<Settings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2011/01/fabric"> | |||||
<!-- Add your custom configuration sections and parameters here --> | |||||
<!-- | |||||
<Section Name="MyConfigSection"> | |||||
<Parameter Name="MyParameter" Value="Value1" /> | |||||
</Section> | |||||
--> | |||||
</Settings> |
@ -1,41 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<ServiceManifest Name="BasketDataPkg" | |||||
Version="1.0.0" | |||||
xmlns="http://schemas.microsoft.com/2011/01/fabric" | |||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<ServiceTypes> | |||||
<!-- This is the name of your ServiceType. | |||||
The UseImplicitHost attribute indicates this is a guest service. --> | |||||
<StatelessServiceType ServiceTypeName="BasketDataType" UseImplicitHost="true" /> | |||||
</ServiceTypes> | |||||
<!-- Code package is your service executable. --> | |||||
<CodePackage Name="Code" Version="1.0.0"> | |||||
<EntryPoint> | |||||
<!-- Follow this link for more information about deploying Windows containers to Service Fabric: https://aka.ms/sfguestcontainers --> | |||||
<ContainerHost> | |||||
<ImageName>redis:latest</ImageName> | |||||
</ContainerHost> | |||||
</EntryPoint> | |||||
<!-- Pass environment variables to your container: --> | |||||
<!-- | |||||
<EnvironmentVariables> | |||||
<EnvironmentVariable Name="VariableName" Value="VariableValue"/> | |||||
</EnvironmentVariables> | |||||
--> | |||||
</CodePackage> | |||||
<!-- Config package is the contents of the Config directoy under PackageRoot that contains an | |||||
independently-updateable and versioned set of custom configuration settings for your service. --> | |||||
<ConfigPackage Name="Config" Version="1.0.0" /> | |||||
<Resources> | |||||
<Endpoints> | |||||
<!-- This endpoint is used by the communication listener to obtain the port on which to | |||||
listen. Please note that if your service is partitioned, this port is shared with | |||||
replicas of different partitions that are placed in your code. --> | |||||
<Endpoint Name="BasketDataTypeEndpoint" Protocol="tcp" Port="6379"/> | |||||
</Endpoints> | |||||
</Resources> | |||||
</ServiceManifest> |
@ -1,6 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Application Name="fabric:/Redis" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
<Parameter Name="BasketData_InstanceCount" Value="1" /> | |||||
</Parameters> | |||||
</Application> |
@ -1,5 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Application Name="fabric:/Redis" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
</Parameters> | |||||
</Application> |
@ -1,5 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Application Name="fabric:/Redis" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
</Parameters> | |||||
</Application> |
@ -1,25 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<PublishProfile xmlns="http://schemas.microsoft.com/2015/05/fabrictools"> | |||||
<!-- ClusterConnectionParameters allows you to specify the PowerShell parameters to use when connecting to the Service Fabric cluster. | |||||
Valid parameters are any that are accepted by the Connect-ServiceFabricCluster cmdlet. | |||||
For a remote cluster, you would need to specify the appropriate parameters for that specific cluster. | |||||
For example: <ClusterConnectionParameters ConnectionEndpoint="mycluster.westus.cloudapp.azure.com:19000" /> | |||||
Example showing parameters for a cluster that uses certificate security: | |||||
<ClusterConnectionParameters ConnectionEndpoint="mycluster.westus.cloudapp.azure.com:19000" | |||||
X509Credential="true" | |||||
ServerCertThumbprint="0123456789012345678901234567890123456789" | |||||
FindType="FindByThumbprint" | |||||
FindValue="9876543210987654321098765432109876543210" | |||||
StoreLocation="CurrentUser" | |||||
StoreName="My" /> | |||||
Example showing parameters for a cluster that uses Azure Active Directory (AAD) security: | |||||
<ClusterConnectionParameters ConnectionEndpoint="mycluster.westus.cloudapp.azure.com:19000" | |||||
AzureActiveDirectory="true" | |||||
ServerCertThumbprint="0123456789012345678901234567890123456789" /> | |||||
--> | |||||
<ClusterConnectionParameters ConnectionEndpoint="#{your_sf_dns}#:19000" /> | |||||
<ApplicationParameterFile Path="..\ApplicationParameters\Cloud.xml" /> | |||||
</PublishProfile> |
@ -1,11 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<PublishProfile xmlns="http://schemas.microsoft.com/2015/05/fabrictools"> | |||||
<!-- ClusterConnectionParameters allows you to specify the PowerShell parameters to use when connecting to the Service Fabric cluster. | |||||
Valid parameters are any that are accepted by the Connect-ServiceFabricCluster cmdlet. | |||||
For a local cluster, you would typically not use any parameters. | |||||
For example: <ClusterConnectionParameters /> | |||||
--> | |||||
<ClusterConnectionParameters /> | |||||
<ApplicationParameterFile Path="..\ApplicationParameters\Local.1Node.xml" /> | |||||
</PublishProfile> |
@ -1,11 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<PublishProfile xmlns="http://schemas.microsoft.com/2015/05/fabrictools"> | |||||
<!-- ClusterConnectionParameters allows you to specify the PowerShell parameters to use when connecting to the Service Fabric cluster. | |||||
Valid parameters are any that are accepted by the Connect-ServiceFabricCluster cmdlet. | |||||
For a local cluster, you would typically not use any parameters. | |||||
For example: <ClusterConnectionParameters /> | |||||
--> | |||||
<ClusterConnectionParameters /> | |||||
<ApplicationParameterFile Path="..\ApplicationParameters\Local.5Node.xml" /> | |||||
</PublishProfile> |
@ -1,46 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" InitialTargets=";ValidateMSBuildFiles"> | |||||
<Import Project="..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props" Condition="Exists('..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props')" /> | |||||
<PropertyGroup Label="Globals"> | |||||
<ProjectGuid>17acd9ea-8f16-4091-aa29-c67002971eee</ProjectGuid> | |||||
<ProjectVersion>1.7</ProjectVersion> | |||||
<MinToolsVersion>1.5</MinToolsVersion> | |||||
<SupportedMSBuildNuGetPackageVersion>1.6</SupportedMSBuildNuGetPackageVersion> | |||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> | |||||
</PropertyGroup> | |||||
<ItemGroup Label="ProjectConfigurations"> | |||||
<ProjectConfiguration Include="Debug|x64"> | |||||
<Configuration>Debug</Configuration> | |||||
<Platform>x64</Platform> | |||||
</ProjectConfiguration> | |||||
<ProjectConfiguration Include="Release|x64"> | |||||
<Configuration>Release</Configuration> | |||||
<Platform>x64</Platform> | |||||
</ProjectConfiguration> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<None Include="ApplicationPackageRoot\ApplicationManifest.xml" /> | |||||
<None Include="ApplicationParameters\Cloud.xml" /> | |||||
<None Include="ApplicationParameters\Local.1Node.xml" /> | |||||
<None Include="ApplicationParameters\Local.5Node.xml" /> | |||||
<None Include="PublishProfiles\Cloud.xml" /> | |||||
<None Include="PublishProfiles\Local.1Node.xml" /> | |||||
<None Include="PublishProfiles\Local.5Node.xml" /> | |||||
<None Include="Scripts\Deploy-FabricApplication.ps1" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<Content Include="ApplicationPackageRoot\BasketDataPkg\Config\Settings.xml" /> | |||||
<Content Include="ApplicationPackageRoot\BasketDataPkg\ServiceManifest.xml" /> | |||||
<Content Include="packages.config" /> | |||||
</ItemGroup> | |||||
<Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" /> | |||||
<PropertyGroup> | |||||
<ApplicationProjectTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Service Fabric Tools\Microsoft.VisualStudio.Azure.Fabric.ApplicationProject.targets</ApplicationProjectTargetsPath> | |||||
</PropertyGroup> | |||||
<Import Project="$(ApplicationProjectTargetsPath)" Condition="Exists('$(ApplicationProjectTargetsPath)')" /> | |||||
<Import Project="..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets" Condition="Exists('..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets')" /> | |||||
<Target Name="ValidateMSBuildFiles"> | |||||
<Error Condition="!Exists('..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props')" Text="Unable to find the '..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props' file. Please restore the 'Microsoft.VisualStudio.Azure.Fabric.MSBuild' Nuget package" /> | |||||
<Error Condition="!Exists('..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets')" Text="Unable to find the '..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets' file. Please restore the 'Microsoft.VisualStudio.Azure.Fabric.MSBuild' Nuget package" /> | |||||
</Target> | |||||
</Project> |
@ -1,258 +0,0 @@ | |||||
<# | |||||
.SYNOPSIS | |||||
Deploys a Service Fabric application type to a cluster. | |||||
.DESCRIPTION | |||||
This script deploys a Service Fabric application type to a cluster. It is invoked by Visual Studio when deploying a Service Fabric Application project. | |||||
.NOTES | |||||
WARNING: This script file is invoked by Visual Studio. Its parameters must not be altered but its logic can be customized as necessary. | |||||
.PARAMETER PublishProfileFile | |||||
Path to the file containing the publish profile. | |||||
.PARAMETER ApplicationPackagePath | |||||
Path to the folder of the packaged Service Fabric application. | |||||
.PARAMETER DeployOnly | |||||
Indicates that the Service Fabric application should not be created or upgraded after registering the application type. | |||||
.PARAMETER ApplicationParameter | |||||
Hashtable of the Service Fabric application parameters to be used for the application. | |||||
.PARAMETER UnregisterUnusedApplicationVersionsAfterUpgrade | |||||
Indicates whether to unregister any unused application versions that exist after an upgrade is finished. | |||||
.PARAMETER OverrideUpgradeBehavior | |||||
Indicates the behavior used to override the upgrade settings specified by the publish profile. | |||||
'None' indicates that the upgrade settings will not be overridden. | |||||
'ForceUpgrade' indicates that an upgrade will occur with default settings, regardless of what is specified in the publish profile. | |||||
'VetoUpgrade' indicates that an upgrade will not occur, regardless of what is specified in the publish profile. | |||||
.PARAMETER UseExistingClusterConnection | |||||
Indicates that the script should make use of an existing cluster connection that has already been established in the PowerShell session. The cluster connection parameters configured in the publish profile are ignored. | |||||
.PARAMETER OverwriteBehavior | |||||
Overwrite Behavior if an application exists in the cluster with the same name. Available Options are Never, Always, SameAppTypeAndVersion. This setting is not applicable when upgrading an application. | |||||
'Never' will not remove the existing application. This is the default behavior. | |||||
'Always' will remove the existing application even if its Application type and Version is different from the application being created. | |||||
'SameAppTypeAndVersion' will remove the existing application only if its Application type and Version is same as the application being created. | |||||
.PARAMETER SkipPackageValidation | |||||
Switch signaling whether the package should be validated or not before deployment. | |||||
.PARAMETER SecurityToken | |||||
A security token for authentication to cluster management endpoints. Used for silent authentication to clusters that are protected by Azure Active Directory. | |||||
.PARAMETER CopyPackageTimeoutSec | |||||
Timeout in seconds for copying application package to image store. | |||||
.EXAMPLE | |||||
. Scripts\Deploy-FabricApplication.ps1 -ApplicationPackagePath 'pkg\Debug' | |||||
Deploy the application using the default package location for a Debug build. | |||||
.EXAMPLE | |||||
. Scripts\Deploy-FabricApplication.ps1 -ApplicationPackagePath 'pkg\Debug' -DoNotCreateApplication | |||||
Deploy the application but do not create the application instance. | |||||
.EXAMPLE | |||||
. Scripts\Deploy-FabricApplication.ps1 -ApplicationPackagePath 'pkg\Debug' -ApplicationParameter @{CustomParameter1='MyValue'; CustomParameter2='MyValue'} | |||||
Deploy the application by providing values for parameters that are defined in the application manifest. | |||||
#> | |||||
Param | |||||
( | |||||
[String] | |||||
$PublishProfileFile, | |||||
[String] | |||||
$ApplicationPackagePath, | |||||
[Switch] | |||||
$DeployOnly, | |||||
[Hashtable] | |||||
$ApplicationParameter, | |||||
[Boolean] | |||||
$UnregisterUnusedApplicationVersionsAfterUpgrade, | |||||
[String] | |||||
[ValidateSet('None', 'ForceUpgrade', 'VetoUpgrade')] | |||||
$OverrideUpgradeBehavior = 'None', | |||||
[Switch] | |||||
$UseExistingClusterConnection, | |||||
[String] | |||||
[ValidateSet('Never','Always','SameAppTypeAndVersion')] | |||||
$OverwriteBehavior = 'Never', | |||||
[Switch] | |||||
$SkipPackageValidation, | |||||
[String] | |||||
$SecurityToken, | |||||
[int] | |||||
$CopyPackageTimeoutSec | |||||
) | |||||
function Read-XmlElementAsHashtable | |||||
{ | |||||
Param ( | |||||
[System.Xml.XmlElement] | |||||
$Element | |||||
) | |||||
$hashtable = @{} | |||||
if ($Element.Attributes) | |||||
{ | |||||
$Element.Attributes | | |||||
ForEach-Object { | |||||
$boolVal = $null | |||||
if ([bool]::TryParse($_.Value, [ref]$boolVal)) { | |||||
$hashtable[$_.Name] = $boolVal | |||||
} | |||||
else { | |||||
$hashtable[$_.Name] = $_.Value | |||||
} | |||||
} | |||||
} | |||||
return $hashtable | |||||
} | |||||
function Read-PublishProfile | |||||
{ | |||||
Param ( | |||||
[ValidateScript({Test-Path $_ -PathType Leaf})] | |||||
[String] | |||||
$PublishProfileFile | |||||
) | |||||
$publishProfileXml = [Xml] (Get-Content $PublishProfileFile) | |||||
$publishProfile = @{} | |||||
$publishProfile.ClusterConnectionParameters = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("ClusterConnectionParameters") | |||||
$publishProfile.UpgradeDeployment = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("UpgradeDeployment") | |||||
$publishProfile.CopyPackageParameters = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("CopyPackageParameters") | |||||
if ($publishProfileXml.PublishProfile.Item("UpgradeDeployment")) | |||||
{ | |||||
$publishProfile.UpgradeDeployment.Parameters = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("UpgradeDeployment").Item("Parameters") | |||||
if ($publishProfile.UpgradeDeployment["Mode"]) | |||||
{ | |||||
$publishProfile.UpgradeDeployment.Parameters[$publishProfile.UpgradeDeployment["Mode"]] = $true | |||||
} | |||||
} | |||||
$publishProfileFolder = (Split-Path $PublishProfileFile) | |||||
$publishProfile.ApplicationParameterFile = [System.IO.Path]::Combine($PublishProfileFolder, $publishProfileXml.PublishProfile.ApplicationParameterFile.Path) | |||||
return $publishProfile | |||||
} | |||||
$LocalFolder = (Split-Path $MyInvocation.MyCommand.Path) | |||||
if (!$PublishProfileFile) | |||||
{ | |||||
$PublishProfileFile = "$LocalFolder\..\PublishProfiles\Local.xml" | |||||
} | |||||
if (!$ApplicationPackagePath) | |||||
{ | |||||
$ApplicationPackagePath = "$LocalFolder\..\pkg\Release" | |||||
} | |||||
$ApplicationPackagePath = Resolve-Path $ApplicationPackagePath | |||||
$publishProfile = Read-PublishProfile $PublishProfileFile | |||||
if (-not $UseExistingClusterConnection) | |||||
{ | |||||
$ClusterConnectionParameters = $publishProfile.ClusterConnectionParameters | |||||
if ($SecurityToken) | |||||
{ | |||||
$ClusterConnectionParameters["SecurityToken"] = $SecurityToken | |||||
} | |||||
try | |||||
{ | |||||
[void](Connect-ServiceFabricCluster @ClusterConnectionParameters) | |||||
} | |||||
catch [System.Fabric.FabricObjectClosedException] | |||||
{ | |||||
Write-Warning "Service Fabric cluster may not be connected." | |||||
throw | |||||
} | |||||
} | |||||
$RegKey = "HKLM:\SOFTWARE\Microsoft\Service Fabric SDK" | |||||
$ModuleFolderPath = (Get-ItemProperty -Path $RegKey -Name FabricSDKPSModulePath).FabricSDKPSModulePath | |||||
Import-Module "$ModuleFolderPath\ServiceFabricSDK.psm1" | |||||
$IsUpgrade = ($publishProfile.UpgradeDeployment -and $publishProfile.UpgradeDeployment.Enabled -and $OverrideUpgradeBehavior -ne 'VetoUpgrade') -or $OverrideUpgradeBehavior -eq 'ForceUpgrade' | |||||
$PublishParameters = @{ | |||||
'ApplicationPackagePath' = $ApplicationPackagePath | |||||
'ApplicationParameterFilePath' = $publishProfile.ApplicationParameterFile | |||||
'ApplicationParameter' = $ApplicationParameter | |||||
'ErrorAction' = 'Stop' | |||||
} | |||||
if ($publishProfile.CopyPackageParameters.CopyPackageTimeoutSec) | |||||
{ | |||||
$PublishParameters['CopyPackageTimeoutSec'] = $publishProfile.CopyPackageParameters.CopyPackageTimeoutSec | |||||
} | |||||
if ($publishProfile.CopyPackageParameters.CompressPackage) | |||||
{ | |||||
$PublishParameters['CompressPackage'] = $publishProfile.CopyPackageParameters.CompressPackage | |||||
} | |||||
# CopyPackageTimeoutSec parameter overrides the value from the publish profile | |||||
if ($CopyPackageTimeoutSec) | |||||
{ | |||||
$PublishParameters['CopyPackageTimeoutSec'] = $CopyPackageTimeoutSec | |||||
} | |||||
if ($IsUpgrade) | |||||
{ | |||||
$Action = "RegisterAndUpgrade" | |||||
if ($DeployOnly) | |||||
{ | |||||
$Action = "Register" | |||||
} | |||||
$UpgradeParameters = $publishProfile.UpgradeDeployment.Parameters | |||||
if ($OverrideUpgradeBehavior -eq 'ForceUpgrade') | |||||
{ | |||||
# Warning: Do not alter these upgrade parameters. It will create an inconsistency with Visual Studio's behavior. | |||||
$UpgradeParameters = @{ UnmonitoredAuto = $true; Force = $true } | |||||
} | |||||
$PublishParameters['Action'] = $Action | |||||
$PublishParameters['UpgradeParameters'] = $UpgradeParameters | |||||
$PublishParameters['UnregisterUnusedVersions'] = $UnregisterUnusedApplicationVersionsAfterUpgrade | |||||
Publish-UpgradedServiceFabricApplication @PublishParameters | |||||
} | |||||
else | |||||
{ | |||||
$Action = "RegisterAndCreate" | |||||
if ($DeployOnly) | |||||
{ | |||||
$Action = "Register" | |||||
} | |||||
$PublishParameters['Action'] = $Action | |||||
$PublishParameters['OverwriteBehavior'] = $OverwriteBehavior | |||||
$PublishParameters['SkipPackageValidation'] = $SkipPackageValidation | |||||
Publish-NewServiceFabricApplication @PublishParameters | |||||
} |
@ -1,4 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<packages> | |||||
<package id="Microsoft.VisualStudio.Azure.Fabric.MSBuild" version="1.6.1" targetFramework="net461" /> | |||||
</packages> |
@ -1,34 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<ApplicationManifest ApplicationTypeName="SqlType" | |||||
ApplicationTypeVersion="1.0.0" | |||||
xmlns="http://schemas.microsoft.com/2011/01/fabric" | |||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
<Parameter Name="SqlServer_InstanceCount" DefaultValue="-1" /> | |||||
</Parameters> | |||||
<!-- Import the ServiceManifest from the ServicePackage. The ServiceManifestName and ServiceManifestVersion | |||||
should match the Name and Version attributes of the ServiceManifest element defined in the | |||||
ServiceManifest.xml file. --> | |||||
<ServiceManifestImport> | |||||
<ServiceManifestRef ServiceManifestName="SqlServerPkg" ServiceManifestVersion="1.0.0" /> | |||||
<ConfigOverrides /> | |||||
<Policies> | |||||
<ContainerHostPolicies CodePackageRef="Code"> | |||||
<PortBinding ContainerPort="1433" EndpointRef="SqlServerTypeEndpoint"/> | |||||
</ContainerHostPolicies> | |||||
</Policies> | |||||
</ServiceManifestImport> | |||||
<DefaultServices> | |||||
<!-- The section below creates instances of service types, when an instance of this | |||||
application type is created. You can also create one or more instances of service type using the | |||||
ServiceFabric PowerShell module. | |||||
The attribute ServiceTypeName below must match the name defined in the imported ServiceManifest.xml file. --> | |||||
<Service Name="SqlServer" ServiceDnsName="sqlserver.eshoponservicefabricsql" ServicePackageActivationMode="ExclusiveProcess"> | |||||
<StatelessService ServiceTypeName="SqlServerType" InstanceCount="[SqlServer_InstanceCount]"> | |||||
<SingletonPartition /> | |||||
</StatelessService> | |||||
</Service> | |||||
</DefaultServices> | |||||
</ApplicationManifest> |
@ -1,9 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8" ?> | |||||
<Settings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2011/01/fabric"> | |||||
<!-- Add your custom configuration sections and parameters here --> | |||||
<!-- | |||||
<Section Name="MyConfigSection"> | |||||
<Parameter Name="MyParameter" Value="Value1" /> | |||||
</Section> | |||||
--> | |||||
</Settings> |
@ -1,41 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<ServiceManifest Name="SqlServerPkg" | |||||
Version="1.0.0" | |||||
xmlns="http://schemas.microsoft.com/2011/01/fabric" | |||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<ServiceTypes> | |||||
<!-- This is the name of your ServiceType. | |||||
The UseImplicitHost attribute indicates this is a guest service. --> | |||||
<StatelessServiceType ServiceTypeName="SqlServerType" UseImplicitHost="true" /> | |||||
</ServiceTypes> | |||||
<!-- Code package is your service executable. --> | |||||
<CodePackage Name="Code" Version="1.0.0"> | |||||
<EntryPoint> | |||||
<!-- Follow this link for more information about deploying Windows containers to Service Fabric: https://aka.ms/sfguestcontainers --> | |||||
<ContainerHost> | |||||
<ImageName>microsoft/mssql-server-linux:2017-latest</ImageName> | |||||
</ContainerHost> | |||||
</EntryPoint> | |||||
<!-- Pass environment variables to your container: --> | |||||
<EnvironmentVariables> | |||||
<EnvironmentVariable Name="MSSQL_SA_PASSWORD" Value="Pass@word"/> | |||||
<EnvironmentVariable Name="ACCEPT_EULA" Value="Y"/> | |||||
<EnvironmentVariable Name="MSSQL_PID" Value="Developer"/> | |||||
</EnvironmentVariables> | |||||
</CodePackage> | |||||
<!-- Config package is the contents of the Config directoy under PackageRoot that contains an | |||||
independently-updateable and versioned set of custom configuration settings for your service. --> | |||||
<ConfigPackage Name="Config" Version="1.0.0" /> | |||||
<Resources> | |||||
<Endpoints> | |||||
<!-- This endpoint is used by the communication listener to obtain the port on which to | |||||
listen. Please note that if your service is partitioned, this port is shared with | |||||
replicas of different partitions that are placed in your code. --> | |||||
<Endpoint Name="SqlServerTypeEndpoint" Port="5433" Protocol="tcp"/> | |||||
</Endpoints> | |||||
</Resources> | |||||
</ServiceManifest> |
@ -1,6 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Application Name="fabric:/Sql" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
<Parameter Name="SqlServer_InstanceCount" Value="1" /> | |||||
</Parameters> | |||||
</Application> |
@ -1,5 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Application Name="fabric:/Sql" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
</Parameters> | |||||
</Application> |
@ -1,5 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Application Name="fabric:/Sql" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
</Parameters> | |||||
</Application> |
@ -1,25 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<PublishProfile xmlns="http://schemas.microsoft.com/2015/05/fabrictools"> | |||||
<!-- ClusterConnectionParameters allows you to specify the PowerShell parameters to use when connecting to the Service Fabric cluster. | |||||
Valid parameters are any that are accepted by the Connect-ServiceFabricCluster cmdlet. | |||||
For a remote cluster, you would need to specify the appropriate parameters for that specific cluster. | |||||
For example: <ClusterConnectionParameters ConnectionEndpoint="mycluster.westus.cloudapp.azure.com:19000" /> | |||||
Example showing parameters for a cluster that uses certificate security: | |||||
<ClusterConnectionParameters ConnectionEndpoint="mycluster.westus.cloudapp.azure.com:19000" | |||||
X509Credential="true" | |||||
ServerCertThumbprint="0123456789012345678901234567890123456789" | |||||
FindType="FindByThumbprint" | |||||
FindValue="9876543210987654321098765432109876543210" | |||||
StoreLocation="CurrentUser" | |||||
StoreName="My" /> | |||||
Example showing parameters for a cluster that uses Azure Active Directory (AAD) security: | |||||
<ClusterConnectionParameters ConnectionEndpoint="mycluster.westus.cloudapp.azure.com:19000" | |||||
AzureActiveDirectory="true" | |||||
ServerCertThumbprint="0123456789012345678901234567890123456789" /> | |||||
--> | |||||
<ClusterConnectionParameters ConnectionEndpoint="#{your_sf_dns}#:19000" /> | |||||
<ApplicationParameterFile Path="..\ApplicationParameters\Cloud.xml" /> | |||||
</PublishProfile> |
@ -1,11 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<PublishProfile xmlns="http://schemas.microsoft.com/2015/05/fabrictools"> | |||||
<!-- ClusterConnectionParameters allows you to specify the PowerShell parameters to use when connecting to the Service Fabric cluster. | |||||
Valid parameters are any that are accepted by the Connect-ServiceFabricCluster cmdlet. | |||||
For a local cluster, you would typically not use any parameters. | |||||
For example: <ClusterConnectionParameters /> | |||||
--> | |||||
<ClusterConnectionParameters /> | |||||
<ApplicationParameterFile Path="..\ApplicationParameters\Local.1Node.xml" /> | |||||
</PublishProfile> |
@ -1,11 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<PublishProfile xmlns="http://schemas.microsoft.com/2015/05/fabrictools"> | |||||
<!-- ClusterConnectionParameters allows you to specify the PowerShell parameters to use when connecting to the Service Fabric cluster. | |||||
Valid parameters are any that are accepted by the Connect-ServiceFabricCluster cmdlet. | |||||
For a local cluster, you would typically not use any parameters. | |||||
For example: <ClusterConnectionParameters /> | |||||
--> | |||||
<ClusterConnectionParameters /> | |||||
<ApplicationParameterFile Path="..\ApplicationParameters\Local.5Node.xml" /> | |||||
</PublishProfile> |
@ -1,258 +0,0 @@ | |||||
<# | |||||
.SYNOPSIS | |||||
Deploys a Service Fabric application type to a cluster. | |||||
.DESCRIPTION | |||||
This script deploys a Service Fabric application type to a cluster. It is invoked by Visual Studio when deploying a Service Fabric Application project. | |||||
.NOTES | |||||
WARNING: This script file is invoked by Visual Studio. Its parameters must not be altered but its logic can be customized as necessary. | |||||
.PARAMETER PublishProfileFile | |||||
Path to the file containing the publish profile. | |||||
.PARAMETER ApplicationPackagePath | |||||
Path to the folder of the packaged Service Fabric application. | |||||
.PARAMETER DeployOnly | |||||
Indicates that the Service Fabric application should not be created or upgraded after registering the application type. | |||||
.PARAMETER ApplicationParameter | |||||
Hashtable of the Service Fabric application parameters to be used for the application. | |||||
.PARAMETER UnregisterUnusedApplicationVersionsAfterUpgrade | |||||
Indicates whether to unregister any unused application versions that exist after an upgrade is finished. | |||||
.PARAMETER OverrideUpgradeBehavior | |||||
Indicates the behavior used to override the upgrade settings specified by the publish profile. | |||||
'None' indicates that the upgrade settings will not be overridden. | |||||
'ForceUpgrade' indicates that an upgrade will occur with default settings, regardless of what is specified in the publish profile. | |||||
'VetoUpgrade' indicates that an upgrade will not occur, regardless of what is specified in the publish profile. | |||||
.PARAMETER UseExistingClusterConnection | |||||
Indicates that the script should make use of an existing cluster connection that has already been established in the PowerShell session. The cluster connection parameters configured in the publish profile are ignored. | |||||
.PARAMETER OverwriteBehavior | |||||
Overwrite Behavior if an application exists in the cluster with the same name. Available Options are Never, Always, SameAppTypeAndVersion. This setting is not applicable when upgrading an application. | |||||
'Never' will not remove the existing application. This is the default behavior. | |||||
'Always' will remove the existing application even if its Application type and Version is different from the application being created. | |||||
'SameAppTypeAndVersion' will remove the existing application only if its Application type and Version is same as the application being created. | |||||
.PARAMETER SkipPackageValidation | |||||
Switch signaling whether the package should be validated or not before deployment. | |||||
.PARAMETER SecurityToken | |||||
A security token for authentication to cluster management endpoints. Used for silent authentication to clusters that are protected by Azure Active Directory. | |||||
.PARAMETER CopyPackageTimeoutSec | |||||
Timeout in seconds for copying application package to image store. | |||||
.EXAMPLE | |||||
. Scripts\Deploy-FabricApplication.ps1 -ApplicationPackagePath 'pkg\Debug' | |||||
Deploy the application using the default package location for a Debug build. | |||||
.EXAMPLE | |||||
. Scripts\Deploy-FabricApplication.ps1 -ApplicationPackagePath 'pkg\Debug' -DoNotCreateApplication | |||||
Deploy the application but do not create the application instance. | |||||
.EXAMPLE | |||||
. Scripts\Deploy-FabricApplication.ps1 -ApplicationPackagePath 'pkg\Debug' -ApplicationParameter @{CustomParameter1='MyValue'; CustomParameter2='MyValue'} | |||||
Deploy the application by providing values for parameters that are defined in the application manifest. | |||||
#> | |||||
Param | |||||
( | |||||
[String] | |||||
$PublishProfileFile, | |||||
[String] | |||||
$ApplicationPackagePath, | |||||
[Switch] | |||||
$DeployOnly, | |||||
[Hashtable] | |||||
$ApplicationParameter, | |||||
[Boolean] | |||||
$UnregisterUnusedApplicationVersionsAfterUpgrade, | |||||
[String] | |||||
[ValidateSet('None', 'ForceUpgrade', 'VetoUpgrade')] | |||||
$OverrideUpgradeBehavior = 'None', | |||||
[Switch] | |||||
$UseExistingClusterConnection, | |||||
[String] | |||||
[ValidateSet('Never','Always','SameAppTypeAndVersion')] | |||||
$OverwriteBehavior = 'Never', | |||||
[Switch] | |||||
$SkipPackageValidation, | |||||
[String] | |||||
$SecurityToken, | |||||
[int] | |||||
$CopyPackageTimeoutSec | |||||
) | |||||
function Read-XmlElementAsHashtable | |||||
{ | |||||
Param ( | |||||
[System.Xml.XmlElement] | |||||
$Element | |||||
) | |||||
$hashtable = @{} | |||||
if ($Element.Attributes) | |||||
{ | |||||
$Element.Attributes | | |||||
ForEach-Object { | |||||
$boolVal = $null | |||||
if ([bool]::TryParse($_.Value, [ref]$boolVal)) { | |||||
$hashtable[$_.Name] = $boolVal | |||||
} | |||||
else { | |||||
$hashtable[$_.Name] = $_.Value | |||||
} | |||||
} | |||||
} | |||||
return $hashtable | |||||
} | |||||
function Read-PublishProfile | |||||
{ | |||||
Param ( | |||||
[ValidateScript({Test-Path $_ -PathType Leaf})] | |||||
[String] | |||||
$PublishProfileFile | |||||
) | |||||
$publishProfileXml = [Xml] (Get-Content $PublishProfileFile) | |||||
$publishProfile = @{} | |||||
$publishProfile.ClusterConnectionParameters = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("ClusterConnectionParameters") | |||||
$publishProfile.UpgradeDeployment = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("UpgradeDeployment") | |||||
$publishProfile.CopyPackageParameters = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("CopyPackageParameters") | |||||
if ($publishProfileXml.PublishProfile.Item("UpgradeDeployment")) | |||||
{ | |||||
$publishProfile.UpgradeDeployment.Parameters = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("UpgradeDeployment").Item("Parameters") | |||||
if ($publishProfile.UpgradeDeployment["Mode"]) | |||||
{ | |||||
$publishProfile.UpgradeDeployment.Parameters[$publishProfile.UpgradeDeployment["Mode"]] = $true | |||||
} | |||||
} | |||||
$publishProfileFolder = (Split-Path $PublishProfileFile) | |||||
$publishProfile.ApplicationParameterFile = [System.IO.Path]::Combine($PublishProfileFolder, $publishProfileXml.PublishProfile.ApplicationParameterFile.Path) | |||||
return $publishProfile | |||||
} | |||||
$LocalFolder = (Split-Path $MyInvocation.MyCommand.Path) | |||||
if (!$PublishProfileFile) | |||||
{ | |||||
$PublishProfileFile = "$LocalFolder\..\PublishProfiles\Local.xml" | |||||
} | |||||
if (!$ApplicationPackagePath) | |||||
{ | |||||
$ApplicationPackagePath = "$LocalFolder\..\pkg\Release" | |||||
} | |||||
$ApplicationPackagePath = Resolve-Path $ApplicationPackagePath | |||||
$publishProfile = Read-PublishProfile $PublishProfileFile | |||||
if (-not $UseExistingClusterConnection) | |||||
{ | |||||
$ClusterConnectionParameters = $publishProfile.ClusterConnectionParameters | |||||
if ($SecurityToken) | |||||
{ | |||||
$ClusterConnectionParameters["SecurityToken"] = $SecurityToken | |||||
} | |||||
try | |||||
{ | |||||
[void](Connect-ServiceFabricCluster @ClusterConnectionParameters) | |||||
} | |||||
catch [System.Fabric.FabricObjectClosedException] | |||||
{ | |||||
Write-Warning "Service Fabric cluster may not be connected." | |||||
throw | |||||
} | |||||
} | |||||
$RegKey = "HKLM:\SOFTWARE\Microsoft\Service Fabric SDK" | |||||
$ModuleFolderPath = (Get-ItemProperty -Path $RegKey -Name FabricSDKPSModulePath).FabricSDKPSModulePath | |||||
Import-Module "$ModuleFolderPath\ServiceFabricSDK.psm1" | |||||
$IsUpgrade = ($publishProfile.UpgradeDeployment -and $publishProfile.UpgradeDeployment.Enabled -and $OverrideUpgradeBehavior -ne 'VetoUpgrade') -or $OverrideUpgradeBehavior -eq 'ForceUpgrade' | |||||
$PublishParameters = @{ | |||||
'ApplicationPackagePath' = $ApplicationPackagePath | |||||
'ApplicationParameterFilePath' = $publishProfile.ApplicationParameterFile | |||||
'ApplicationParameter' = $ApplicationParameter | |||||
'ErrorAction' = 'Stop' | |||||
} | |||||
if ($publishProfile.CopyPackageParameters.CopyPackageTimeoutSec) | |||||
{ | |||||
$PublishParameters['CopyPackageTimeoutSec'] = $publishProfile.CopyPackageParameters.CopyPackageTimeoutSec | |||||
} | |||||
if ($publishProfile.CopyPackageParameters.CompressPackage) | |||||
{ | |||||
$PublishParameters['CompressPackage'] = $publishProfile.CopyPackageParameters.CompressPackage | |||||
} | |||||
# CopyPackageTimeoutSec parameter overrides the value from the publish profile | |||||
if ($CopyPackageTimeoutSec) | |||||
{ | |||||
$PublishParameters['CopyPackageTimeoutSec'] = $CopyPackageTimeoutSec | |||||
} | |||||
if ($IsUpgrade) | |||||
{ | |||||
$Action = "RegisterAndUpgrade" | |||||
if ($DeployOnly) | |||||
{ | |||||
$Action = "Register" | |||||
} | |||||
$UpgradeParameters = $publishProfile.UpgradeDeployment.Parameters | |||||
if ($OverrideUpgradeBehavior -eq 'ForceUpgrade') | |||||
{ | |||||
# Warning: Do not alter these upgrade parameters. It will create an inconsistency with Visual Studio's behavior. | |||||
$UpgradeParameters = @{ UnmonitoredAuto = $true; Force = $true } | |||||
} | |||||
$PublishParameters['Action'] = $Action | |||||
$PublishParameters['UpgradeParameters'] = $UpgradeParameters | |||||
$PublishParameters['UnregisterUnusedVersions'] = $UnregisterUnusedApplicationVersionsAfterUpgrade | |||||
Publish-UpgradedServiceFabricApplication @PublishParameters | |||||
} | |||||
else | |||||
{ | |||||
$Action = "RegisterAndCreate" | |||||
if ($DeployOnly) | |||||
{ | |||||
$Action = "Register" | |||||
} | |||||
$PublishParameters['Action'] = $Action | |||||
$PublishParameters['OverwriteBehavior'] = $OverwriteBehavior | |||||
$PublishParameters['SkipPackageValidation'] = $SkipPackageValidation | |||||
Publish-NewServiceFabricApplication @PublishParameters | |||||
} |
@ -1,46 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" InitialTargets=";ValidateMSBuildFiles"> | |||||
<Import Project="..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props" Condition="Exists('..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props')" /> | |||||
<PropertyGroup Label="Globals"> | |||||
<ProjectGuid>65a83188-79c1-47ad-931d-8e8a87247408</ProjectGuid> | |||||
<ProjectVersion>1.7</ProjectVersion> | |||||
<MinToolsVersion>1.5</MinToolsVersion> | |||||
<SupportedMSBuildNuGetPackageVersion>1.6</SupportedMSBuildNuGetPackageVersion> | |||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> | |||||
</PropertyGroup> | |||||
<ItemGroup Label="ProjectConfigurations"> | |||||
<ProjectConfiguration Include="Debug|x64"> | |||||
<Configuration>Debug</Configuration> | |||||
<Platform>x64</Platform> | |||||
</ProjectConfiguration> | |||||
<ProjectConfiguration Include="Release|x64"> | |||||
<Configuration>Release</Configuration> | |||||
<Platform>x64</Platform> | |||||
</ProjectConfiguration> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<None Include="ApplicationPackageRoot\ApplicationManifest.xml" /> | |||||
<None Include="ApplicationParameters\Cloud.xml" /> | |||||
<None Include="ApplicationParameters\Local.1Node.xml" /> | |||||
<None Include="ApplicationParameters\Local.5Node.xml" /> | |||||
<None Include="PublishProfiles\Cloud.xml" /> | |||||
<None Include="PublishProfiles\Local.1Node.xml" /> | |||||
<None Include="PublishProfiles\Local.5Node.xml" /> | |||||
<None Include="Scripts\Deploy-FabricApplication.ps1" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<Content Include="ApplicationPackageRoot\SqlServerPkg\Config\Settings.xml" /> | |||||
<Content Include="ApplicationPackageRoot\SqlServerPkg\ServiceManifest.xml" /> | |||||
<Content Include="packages.config" /> | |||||
</ItemGroup> | |||||
<Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" /> | |||||
<PropertyGroup> | |||||
<ApplicationProjectTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Service Fabric Tools\Microsoft.VisualStudio.Azure.Fabric.ApplicationProject.targets</ApplicationProjectTargetsPath> | |||||
</PropertyGroup> | |||||
<Import Project="$(ApplicationProjectTargetsPath)" Condition="Exists('$(ApplicationProjectTargetsPath)')" /> | |||||
<Import Project="..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets" Condition="Exists('..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets')" /> | |||||
<Target Name="ValidateMSBuildFiles"> | |||||
<Error Condition="!Exists('..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props')" Text="Unable to find the '..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props' file. Please restore the 'Microsoft.VisualStudio.Azure.Fabric.MSBuild' Nuget package" /> | |||||
<Error Condition="!Exists('..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets')" Text="Unable to find the '..\..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets' file. Please restore the 'Microsoft.VisualStudio.Azure.Fabric.MSBuild' Nuget package" /> | |||||
</Target> | |||||
</Project> |
@ -1,4 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<packages> | |||||
<package id="Microsoft.VisualStudio.Azure.Fabric.MSBuild" version="1.6.1" targetFramework="net461" /> | |||||
</packages> |
@ -1,152 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<ApplicationManifest ApplicationTypeName="eShopOnServiceFabricType" | |||||
ApplicationTypeVersion="1.0.0" | |||||
xmlns="http://schemas.microsoft.com/2011/01/fabric" | |||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
<Parameter Name="OrderingBackground_InstanceCount" DefaultValue="-1" /> | |||||
<Parameter Name="MarketingApi_InstanceCount" DefaultValue="-1" /> | |||||
<Parameter Name="LocationsApi_InstanceCount" DefaultValue="-1" /> | |||||
<Parameter Name="PaymentApi_InstanceCount" DefaultValue="-1" /> | |||||
<Parameter Name="OrderingApi_InstanceCount" DefaultValue="-1" /> | |||||
<Parameter Name="CatalogApi_InstanceCount" DefaultValue="-1" /> | |||||
<Parameter Name="BasketApi_InstanceCount" DefaultValue="-1" /> | |||||
<Parameter Name="IdentityUrlExternal" DefaultValue="" /> | |||||
<Parameter Name="PicBaseUrlCatalog" DefaultValue="" /> | |||||
<Parameter Name="PicBaseUrlMarketing" DefaultValue="" /> | |||||
<Parameter Name="InstrumentationKey" DefaultValue="" /> | |||||
</Parameters> | |||||
<!-- Import the ServiceManifest from the ServicePackage. The ServiceManifestName and ServiceManifestVersion | |||||
should match the Name and Version attributes of the ServiceManifest element defined in the | |||||
ServiceManifest.xml file. --> | |||||
<ServiceManifestImport> | |||||
<ServiceManifestRef ServiceManifestName="OrderingBackgroundPkg" ServiceManifestVersion="1.0.0" /> | |||||
<ConfigOverrides /> | |||||
<EnvironmentOverrides CodePackageRef="Code"> | |||||
<EnvironmentVariable Name="ApplicationInsights__InstrumentationKey" Value="[InstrumentationKey]"/> | |||||
</EnvironmentOverrides> | |||||
<Policies> | |||||
<ContainerHostPolicies CodePackageRef="Code"> | |||||
<PortBinding ContainerPort="80" EndpointRef="OrderingBackgroundTypeEndpoint"/> | |||||
</ContainerHostPolicies> | |||||
</Policies> | |||||
</ServiceManifestImport> | |||||
<ServiceManifestImport> | |||||
<ServiceManifestRef ServiceManifestName="MarketingApiPkg" ServiceManifestVersion="1.0.0" /> | |||||
<!-- Override external urls depending on environment --> | |||||
<EnvironmentOverrides CodePackageRef="Code"> | |||||
<EnvironmentVariable Name="IdentityUrlExternal" Value="[IdentityUrlExternal]"/> | |||||
<EnvironmentVariable Name="ApplicationInsights__InstrumentationKey" Value="[InstrumentationKey]"/> | |||||
<EnvironmentVariable Name="PicBaseUrl" Value="[PicBaseUrlMarketing]"/> | |||||
</EnvironmentOverrides> | |||||
<Policies> | |||||
<ContainerHostPolicies CodePackageRef="Code"> | |||||
<PortBinding ContainerPort="80" EndpointRef="MarketingApiTypeEndpoint"/> | |||||
</ContainerHostPolicies> | |||||
</Policies> | |||||
</ServiceManifestImport> | |||||
<ServiceManifestImport> | |||||
<ServiceManifestRef ServiceManifestName="LocationsApiPkg" ServiceManifestVersion="1.0.0" /> | |||||
<EnvironmentOverrides CodePackageRef="Code"> | |||||
<EnvironmentVariable Name="IdentityUrlExternal" Value="[IdentityUrlExternal]"/> | |||||
<EnvironmentVariable Name="ApplicationInsights__InstrumentationKey" Value="[InstrumentationKey]"/> | |||||
</EnvironmentOverrides> | |||||
<Policies> | |||||
<ContainerHostPolicies CodePackageRef="Code"> | |||||
<PortBinding ContainerPort="80" EndpointRef="LocationsApiTypeEndpoint"/> | |||||
</ContainerHostPolicies> | |||||
</Policies> | |||||
</ServiceManifestImport> | |||||
<ServiceManifestImport> | |||||
<ServiceManifestRef ServiceManifestName="PaymentApiPkg" ServiceManifestVersion="1.0.0" /> | |||||
<EnvironmentOverrides CodePackageRef="Code"> | |||||
<EnvironmentVariable Name="ApplicationInsights__InstrumentationKey" Value="[InstrumentationKey]"/> | |||||
</EnvironmentOverrides> | |||||
<Policies> | |||||
<ContainerHostPolicies CodePackageRef="Code"> | |||||
<PortBinding ContainerPort="80" EndpointRef="PaymentApiTypeEndpoint"/> | |||||
</ContainerHostPolicies> | |||||
</Policies> | |||||
</ServiceManifestImport> | |||||
<ServiceManifestImport> | |||||
<ServiceManifestRef ServiceManifestName="OrderingApiPkg" ServiceManifestVersion="1.0.0" /> | |||||
<EnvironmentOverrides CodePackageRef="Code"> | |||||
<EnvironmentVariable Name="IdentityUrlExternal" Value="[IdentityUrlExternal]"/> | |||||
<EnvironmentVariable Name="ApplicationInsights__InstrumentationKey" Value="[InstrumentationKey]"/> | |||||
</EnvironmentOverrides> | |||||
<Policies> | |||||
<ContainerHostPolicies CodePackageRef="Code"> | |||||
<PortBinding ContainerPort="80" EndpointRef="OrderingApiTypeEndpoint"/> | |||||
</ContainerHostPolicies> | |||||
</Policies> | |||||
</ServiceManifestImport> | |||||
<ServiceManifestImport> | |||||
<ServiceManifestRef ServiceManifestName="CatalogApiPkg" ServiceManifestVersion="1.0.0" /> | |||||
<EnvironmentOverrides CodePackageRef="Code"> | |||||
<EnvironmentVariable Name="PicBaseUrl" Value="[PicBaseUrlCatalog]"/> | |||||
<EnvironmentVariable Name="ApplicationInsights__InstrumentationKey" Value="[InstrumentationKey]"/> | |||||
</EnvironmentOverrides> | |||||
<Policies> | |||||
<ContainerHostPolicies CodePackageRef="Code"> | |||||
<PortBinding ContainerPort="80" EndpointRef="CatalogApiTypeEndpoint"/> | |||||
</ContainerHostPolicies> | |||||
</Policies> | |||||
</ServiceManifestImport> | |||||
<ServiceManifestImport> | |||||
<ServiceManifestRef ServiceManifestName="BasketApiPkg" ServiceManifestVersion="1.0.0" /> | |||||
<EnvironmentOverrides CodePackageRef="Code"> | |||||
<EnvironmentVariable Name="IdentityUrlExternal" Value="[IdentityUrlExternal]"/> | |||||
<EnvironmentVariable Name="ApplicationInsights__InstrumentationKey" Value="[InstrumentationKey]"/> | |||||
</EnvironmentOverrides> | |||||
<Policies> | |||||
<ContainerHostPolicies CodePackageRef="Code"> | |||||
<PortBinding ContainerPort="80" EndpointRef="BasketApiTypeEndpoint"/> | |||||
</ContainerHostPolicies> | |||||
</Policies> | |||||
</ServiceManifestImport> | |||||
<DefaultServices> | |||||
<!-- The section below creates instances of service types, when an instance of this | |||||
application type is created. You can also create one or more instances of service type using the | |||||
ServiceFabric PowerShell module. | |||||
The attribute ServiceTypeName below must match the name defined in the imported ServiceManifest.xml file. --> | |||||
<Service Name="OrderingBackground" ServicePackageActivationMode="ExclusiveProcess"> | |||||
<StatelessService ServiceTypeName="OrderingBackgroundType" InstanceCount="[OrderingBackground_InstanceCount]"> | |||||
<SingletonPartition /> | |||||
</StatelessService> | |||||
</Service> | |||||
<Service Name="MarketingApi" ServiceDnsName="marketingapi.eshoponservicefabric" ServicePackageActivationMode="ExclusiveProcess"> | |||||
<StatelessService ServiceTypeName="MarketingApiType" InstanceCount="[MarketingApi_InstanceCount]"> | |||||
<SingletonPartition /> | |||||
</StatelessService> | |||||
</Service> | |||||
<Service Name="LocationsApi" ServiceDnsName="locationsapi.eshoponservicefabric" ServicePackageActivationMode="ExclusiveProcess"> | |||||
<StatelessService ServiceTypeName="LocationsApiType" InstanceCount="[LocationsApi_InstanceCount]"> | |||||
<SingletonPartition /> | |||||
</StatelessService> | |||||
</Service> | |||||
<Service Name="PaymentApi" ServiceDnsName="paymentapi.eshoponservicefabric" ServicePackageActivationMode="ExclusiveProcess"> | |||||
<StatelessService ServiceTypeName="PaymentApiType" InstanceCount="[PaymentApi_InstanceCount]"> | |||||
<SingletonPartition /> | |||||
</StatelessService> | |||||
</Service> | |||||
<Service Name="OrderingApi" ServiceDnsName="orderingapi.eshoponservicefabric" ServicePackageActivationMode="ExclusiveProcess"> | |||||
<StatelessService ServiceTypeName="OrderingApiType" InstanceCount="[OrderingApi_InstanceCount]"> | |||||
<SingletonPartition /> | |||||
</StatelessService> | |||||
</Service> | |||||
<Service Name="CatalogApi" ServiceDnsName="catalogapi.eshoponservicefabric" ServicePackageActivationMode="ExclusiveProcess"> | |||||
<StatelessService ServiceTypeName="CatalogApiType" InstanceCount="[CatalogApi_InstanceCount]"> | |||||
<SingletonPartition /> | |||||
</StatelessService> | |||||
</Service> | |||||
<Service Name="BasketApi" ServiceDnsName="basketapi.eshoponservicefabric" ServicePackageActivationMode="ExclusiveProcess"> | |||||
<StatelessService ServiceTypeName="BasketApiType" InstanceCount="[BasketApi_InstanceCount]"> | |||||
<SingletonPartition /> | |||||
</StatelessService> | |||||
</Service> | |||||
</DefaultServices> | |||||
</ApplicationManifest> |
@ -1,9 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8" ?> | |||||
<Settings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2011/01/fabric"> | |||||
<!-- Add your custom configuration sections and parameters here --> | |||||
<!-- | |||||
<Section Name="MyConfigSection"> | |||||
<Parameter Name="MyParameter" Value="Value1" /> | |||||
</Section> | |||||
--> | |||||
</Settings> |
@ -1,49 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<ServiceManifest Name="BasketApiPkg" | |||||
Version="1.0.0" | |||||
xmlns="http://schemas.microsoft.com/2011/01/fabric" | |||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<ServiceTypes> | |||||
<!-- This is the name of your ServiceType. | |||||
The UseImplicitHost attribute indicates this is a guest service. --> | |||||
<StatelessServiceType ServiceTypeName="BasketApiType" UseImplicitHost="true" /> | |||||
</ServiceTypes> | |||||
<!-- Code package is your service executable. --> | |||||
<CodePackage Name="Code" Version="1.0.0"> | |||||
<EntryPoint> | |||||
<!-- Follow this link for more information about deploying Windows containers to Service Fabric: https://aka.ms/sfguestcontainers --> | |||||
<ContainerHost> | |||||
<ImageName>eshop/basket.api:#{tag}#</ImageName> | |||||
</ContainerHost> | |||||
</EntryPoint> | |||||
<!-- Pass environment variables to your container: --> | |||||
<EnvironmentVariables> | |||||
<EnvironmentVariable Name="ASPNETCORE_ENVIRONMENT" Value="Development"/> | |||||
<EnvironmentVariable Name="ASPNETCORE_URLS" Value="http://0.0.0.0:80"/> | |||||
<EnvironmentVariable Name="ConnectionString" Value="basketdata.eshoponservicefabricredis"/> | |||||
<EnvironmentVariable Name="identityUrl" Value="http://identityapi.eshoponservicefabric:5105"/> | |||||
<EnvironmentVariable Name="IdentityUrlExternal" Value="http://#{your_sf_dns}#:5105"/> | |||||
<EnvironmentVariable Name="EventBusConnection" Value="rabbitmq.eshoponservicefabricbus"/> | |||||
<EnvironmentVariable Name="AzureServiceBusEnabled" Value="False"/> | |||||
<EnvironmentVariable Name="ApplicationInsights__InstrumentationKey" Value=""/> | |||||
<EnvironmentVariable Name="OrchestratorType" Value="SF"/> | |||||
<EnvironmentVariable Name="UseLoadTest" Value="True"/> | |||||
</EnvironmentVariables> | |||||
</CodePackage> | |||||
<!-- Config package is the contents of the Config directoy under PackageRoot that contains an | |||||
independently-updateable and versioned set of custom configuration settings for your service. --> | |||||
<ConfigPackage Name="Config" Version="1.0.0" /> | |||||
<Resources> | |||||
<Endpoints> | |||||
<!-- This endpoint is used by the communication listener to obtain the port on which to | |||||
listen. Please note that if your service is partitioned, this port is shared with | |||||
replicas of different partitions that are placed in your code. --> | |||||
<Endpoint Name="BasketApiTypeEndpoint" Port="5103" UriScheme="http"/> | |||||
</Endpoints> | |||||
</Resources> | |||||
</ServiceManifest> | |||||
@ -1,9 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8" ?> | |||||
<Settings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2011/01/fabric"> | |||||
<!-- Add your custom configuration sections and parameters here --> | |||||
<!-- | |||||
<Section Name="MyConfigSection"> | |||||
<Parameter Name="MyParameter" Value="Value1" /> | |||||
</Section> | |||||
--> | |||||
</Settings> |
@ -1,50 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<ServiceManifest Name="CatalogApiPkg" | |||||
Version="1.0.0" | |||||
xmlns="http://schemas.microsoft.com/2011/01/fabric" | |||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<ServiceTypes> | |||||
<!-- This is the name of your ServiceType. | |||||
The UseImplicitHost attribute indicates this is a guest service. --> | |||||
<StatelessServiceType ServiceTypeName="CatalogApiType" UseImplicitHost="true" /> | |||||
</ServiceTypes> | |||||
<!-- Code package is your service executable. --> | |||||
<CodePackage Name="Code" Version="1.0.0"> | |||||
<EntryPoint> | |||||
<!-- Follow this link for more information about deploying Windows containers to Service Fabric: https://aka.ms/sfguestcontainers --> | |||||
<ContainerHost> | |||||
<ImageName>eshop/catalog.api:#{tag}#</ImageName> | |||||
</ContainerHost> | |||||
</EntryPoint> | |||||
<!-- Pass environment variables to your container: --> | |||||
<EnvironmentVariables> | |||||
<EnvironmentVariable Name="ASPNETCORE_ENVIRONMENT" Value="Development"/> | |||||
<EnvironmentVariable Name="ASPNETCORE_URLS" Value="http://0.0.0.0:80"/> | |||||
<EnvironmentVariable Name="ConnectionString" Value="Data Source=sqlserver.eshoponservicefabricsql,5433;Database=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word"/> | |||||
<EnvironmentVariable Name="PicBaseUrl" Value="http://catalogapi.eshoponservicefabric:5101/api/v1/catalog/items/[0]/pic/"/> | |||||
<EnvironmentVariable Name="AzureStorageAccountName" Value=""/> | |||||
<EnvironmentVariable Name="AzureStorageAccountKey" Value=""/> | |||||
<EnvironmentVariable Name="UseCustomizationData" Value="True"/> | |||||
<EnvironmentVariable Name="AzureStorageEnabled" Value="False"/> | |||||
<EnvironmentVariable Name="EventBusConnection" Value="rabbitmq.eshoponservicefabricbus"/> | |||||
<EnvironmentVariable Name="AzureServiceBusEnabled" Value="False"/> | |||||
<EnvironmentVariable Name="ApplicationInsights__InstrumentationKey" Value=""/> | |||||
<EnvironmentVariable Name="OrchestratorType" Value="SF"/> | |||||
</EnvironmentVariables> | |||||
</CodePackage> | |||||
<!-- Config package is the contents of the Config directoy under PackageRoot that contains an | |||||
independently-updateable and versioned set of custom configuration settings for your service. --> | |||||
<ConfigPackage Name="Config" Version="1.0.0" /> | |||||
<Resources> | |||||
<Endpoints> | |||||
<!-- This endpoint is used by the communication listener to obtain the port on which to | |||||
listen. Please note that if your service is partitioned, this port is shared with | |||||
replicas of different partitions that are placed in your code. --> | |||||
<Endpoint Name="CatalogApiTypeEndpoint" Port="5101" UriScheme="http"/> | |||||
</Endpoints> | |||||
</Resources> | |||||
</ServiceManifest> |
@ -1,9 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8" ?> | |||||
<Settings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2011/01/fabric"> | |||||
<!-- Add your custom configuration sections and parameters here --> | |||||
<!-- | |||||
<Section Name="MyConfigSection"> | |||||
<Parameter Name="MyParameter" Value="Value1" /> | |||||
</Section> | |||||
--> | |||||
</Settings> |
@ -1,49 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<ServiceManifest Name="LocationsApiPkg" | |||||
Version="1.0.0" | |||||
xmlns="http://schemas.microsoft.com/2011/01/fabric" | |||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<ServiceTypes> | |||||
<!-- This is the name of your ServiceType. | |||||
The UseImplicitHost attribute indicates this is a guest service. --> | |||||
<StatelessServiceType ServiceTypeName="LocationsApiType" UseImplicitHost="true" /> | |||||
</ServiceTypes> | |||||
<!-- Code package is your service executable. --> | |||||
<CodePackage Name="Code" Version="1.0.0"> | |||||
<EntryPoint> | |||||
<!-- Follow this link for more information about deploying Windows containers to Service Fabric: https://aka.ms/sfguestcontainers --> | |||||
<ContainerHost> | |||||
<ImageName>eshop/locations.api:#{tag}#</ImageName> | |||||
</ContainerHost> | |||||
</EntryPoint> | |||||
<!-- Pass environment variables to your container: --> | |||||
<EnvironmentVariables> | |||||
<EnvironmentVariable Name="ASPNETCORE_ENVIRONMENT" Value="Development"/> | |||||
<EnvironmentVariable Name="ASPNETCORE_URLS" Value="http://0.0.0.0:80"/> | |||||
<EnvironmentVariable Name="ConnectionString" Value="mongodb://mongodb.eshoponservicefabricnosql"/> | |||||
<EnvironmentVariable Name="Database" Value="LocationsDb"/> | |||||
<EnvironmentVariable Name="identityUrl" Value="http://identityapi.eshoponservicefabric:5105"/> | |||||
<EnvironmentVariable Name="IdentityUrlExternal" Value=""/> | |||||
<EnvironmentVariable Name="EventBusConnection" Value="rabbitmq.eshoponservicefabricbus"/> | |||||
<EnvironmentVariable Name="AzureServiceBusEnabled" Value="False"/> | |||||
<EnvironmentVariable Name="ApplicationInsights__InstrumentationKey" Value=""/> | |||||
<EnvironmentVariable Name="OrchestratorType" Value="SF"/> | |||||
<EnvironmentVariable Name="UseLoadTest" Value="True"/> | |||||
</EnvironmentVariables> | |||||
</CodePackage> | |||||
<!-- Config package is the contents of the Config directoy under PackageRoot that contains an | |||||
independently-updateable and versioned set of custom configuration settings for your service. --> | |||||
<ConfigPackage Name="Config" Version="1.0.0" /> | |||||
<Resources> | |||||
<Endpoints> | |||||
<!-- This endpoint is used by the communication listener to obtain the port on which to | |||||
listen. Please note that if your service is partitioned, this port is shared with | |||||
replicas of different partitions that are placed in your code. --> | |||||
<Endpoint Name="LocationsApiTypeEndpoint" Port="5109"/> | |||||
</Endpoints> | |||||
</Resources> | |||||
</ServiceManifest> |
@ -1,9 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8" ?> | |||||
<Settings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2011/01/fabric"> | |||||
<!-- Add your custom configuration sections and parameters here --> | |||||
<!-- | |||||
<Section Name="MyConfigSection"> | |||||
<Parameter Name="MyParameter" Value="Value1" /> | |||||
</Section> | |||||
--> | |||||
</Settings> |
@ -1,55 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<ServiceManifest Name="MarketingApiPkg" | |||||
Version="1.0.0" | |||||
xmlns="http://schemas.microsoft.com/2011/01/fabric" | |||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<ServiceTypes> | |||||
<!-- This is the name of your ServiceType. | |||||
The UseImplicitHost attribute indicates this is a guest service. --> | |||||
<StatelessServiceType ServiceTypeName="MarketingApiType" UseImplicitHost="true" /> | |||||
</ServiceTypes> | |||||
<!-- Code package is your service executable. --> | |||||
<CodePackage Name="Code" Version="1.0.0"> | |||||
<EntryPoint> | |||||
<!-- Follow this link for more information about deploying Windows containers to Service Fabric: https://aka.ms/sfguestcontainers --> | |||||
<ContainerHost> | |||||
<ImageName>eshop/marketing.api:#{tag}#</ImageName> | |||||
</ContainerHost> | |||||
</EntryPoint> | |||||
<!-- Pass environment variables to your container: --> | |||||
<EnvironmentVariables> | |||||
<EnvironmentVariable Name="ASPNETCORE_ENVIRONMENT" Value="Development"/> | |||||
<EnvironmentVariable Name="ASPNETCORE_URLS" Value="http://0.0.0.0:80"/> | |||||
<EnvironmentVariable Name="ConnectionString" Value="Data Source=sqlserver.eshoponservicefabricsql,5433;Database=Microsoft.eShopOnContainers.Services.MarketingDb;User Id=sa;Password=Pass@word"/> | |||||
<EnvironmentVariable Name="IdentityUrlExternal" Value=""/> | |||||
<EnvironmentVariable Name="EventBusConnection" Value="rabbitmq.eshoponservicefabricbus"/> | |||||
<EnvironmentVariable Name="AzureServiceBusEnabled" Value="False"/> | |||||
<EnvironmentVariable Name="CampaignDetailFunctionUri" Value=""/> | |||||
<EnvironmentVariable Name="PicBaseUrl" Value=""/> | |||||
<EnvironmentVariable Name="AzureStorageAccountName" Value=""/> | |||||
<EnvironmentVariable Name="AzureStorageAccountKey" Value=""/> | |||||
<EnvironmentVariable Name="AzureStorageEnabled" Value="False"/> | |||||
<EnvironmentVariable Name="MongoConnectionString" Value="mongodb://mongodb.eshoponservicefabricnosql"/> | |||||
<EnvironmentVariable Name="MongoDatabase" Value="MarketingDb"/> | |||||
<EnvironmentVariable Name="identityUrl" Value="http://identityapi.eshoponservicefabric:5105"/> | |||||
<EnvironmentVariable Name="ApplicationInsights__InstrumentationKey" Value=""/> | |||||
<EnvironmentVariable Name="OrchestratorType" Value="SF"/> | |||||
<EnvironmentVariable Name="UseLoadTest" Value="True"/> | |||||
</EnvironmentVariables> | |||||
</CodePackage> | |||||
<!-- Config package is the contents of the Config directoy under PackageRoot that contains an | |||||
independently-updateable and versioned set of custom configuration settings for your service. --> | |||||
<ConfigPackage Name="Config" Version="1.0.0" /> | |||||
<Resources> | |||||
<Endpoints> | |||||
<!-- This endpoint is used by the communication listener to obtain the port on which to | |||||
listen. Please note that if your service is partitioned, this port is shared with | |||||
replicas of different partitions that are placed in your code. --> | |||||
<Endpoint Name="MarketingApiTypeEndpoint" Port="5110"/> | |||||
</Endpoints> | |||||
</Resources> | |||||
</ServiceManifest> |
@ -1,9 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8" ?> | |||||
<Settings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2011/01/fabric"> | |||||
<!-- Add your custom configuration sections and parameters here --> | |||||
<!-- | |||||
<Section Name="MyConfigSection"> | |||||
<Parameter Name="MyParameter" Value="Value1" /> | |||||
</Section> | |||||
--> | |||||
</Settings> |
@ -1,49 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<ServiceManifest Name="OrderingApiPkg" | |||||
Version="1.0.0" | |||||
xmlns="http://schemas.microsoft.com/2011/01/fabric" | |||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<ServiceTypes> | |||||
<!-- This is the name of your ServiceType. | |||||
The UseImplicitHost attribute indicates this is a guest service. --> | |||||
<StatelessServiceType ServiceTypeName="OrderingApiType" UseImplicitHost="true" /> | |||||
</ServiceTypes> | |||||
<!-- Code package is your service executable. --> | |||||
<CodePackage Name="Code" Version="1.0.0"> | |||||
<EntryPoint> | |||||
<!-- Follow this link for more information about deploying Windows containers to Service Fabric: https://aka.ms/sfguestcontainers --> | |||||
<ContainerHost> | |||||
<ImageName>eshop/ordering.api:#{tag}#</ImageName> | |||||
</ContainerHost> | |||||
</EntryPoint> | |||||
<!-- Pass environment variables to your container: --> | |||||
<EnvironmentVariables> | |||||
<EnvironmentVariable Name="ASPNETCORE_ENVIRONMENT" Value="Development"/> | |||||
<EnvironmentVariable Name="ASPNETCORE_URLS" Value="http://0.0.0.0:80"/> | |||||
<EnvironmentVariable Name="ConnectionString" Value="Data Source=sqlserver.eshoponservicefabricsql,5433;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word"/> | |||||
<EnvironmentVariable Name="identityUrl" Value="http://identityapi.eshoponservicefabric:5105"/> | |||||
<EnvironmentVariable Name="IdentityUrlExternal" Value=""/> | |||||
<EnvironmentVariable Name="EventBusConnection" Value="rabbitmq.eshoponservicefabricbus"/> | |||||
<EnvironmentVariable Name="AzureServiceBusEnabled" Value="False"/> | |||||
<EnvironmentVariable Name="UseCustomizationData" Value="True"/> | |||||
<EnvironmentVariable Name="ApplicationInsights__InstrumentationKey" Value=""/> | |||||
<EnvironmentVariable Name="OrchestratorType" Value="SF"/> | |||||
<EnvironmentVariable Name="UseLoadTest" Value="True"/> | |||||
</EnvironmentVariables> | |||||
</CodePackage> | |||||
<!-- Config package is the contents of the Config directoy under PackageRoot that contains an | |||||
independently-updateable and versioned set of custom configuration settings for your service. --> | |||||
<ConfigPackage Name="Config" Version="1.0.0" /> | |||||
<Resources> | |||||
<Endpoints> | |||||
<!-- This endpoint is used by the communication listener to obtain the port on which to | |||||
listen. Please note that if your service is partitioned, this port is shared with | |||||
replicas of different partitions that are placed in your code. --> | |||||
<Endpoint Name="OrderingApiTypeEndpoint" Port="5102" UriScheme="http"/> | |||||
</Endpoints> | |||||
</Resources> | |||||
</ServiceManifest> |
@ -1,9 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8" ?> | |||||
<Settings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2011/01/fabric"> | |||||
<!-- Add your custom configuration sections and parameters here --> | |||||
<!-- | |||||
<Section Name="MyConfigSection"> | |||||
<Parameter Name="MyParameter" Value="Value1" /> | |||||
</Section> | |||||
--> | |||||
</Settings> |
@ -1,48 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<ServiceManifest Name="OrderingBackgroundPkg" | |||||
Version="1.0.0" | |||||
xmlns="http://schemas.microsoft.com/2011/01/fabric" | |||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<ServiceTypes> | |||||
<!-- This is the name of your ServiceType. | |||||
The UseImplicitHost attribute indicates this is a guest service. --> | |||||
<StatelessServiceType ServiceTypeName="OrderingBackgroundType" UseImplicitHost="true" /> | |||||
</ServiceTypes> | |||||
<!-- Code package is your service executable. --> | |||||
<CodePackage Name="Code" Version="1.0.0"> | |||||
<EntryPoint> | |||||
<!-- Follow this link for more information about deploying Windows containers to Service Fabric: https://aka.ms/sfguestcontainers --> | |||||
<ContainerHost> | |||||
<ImageName>eshop/ordering.backgroundtasks</ImageName> | |||||
</ContainerHost> | |||||
</EntryPoint> | |||||
<!-- Pass environment variables to your container: --> | |||||
<EnvironmentVariables> | |||||
<EnvironmentVariable Name="ASPNETCORE_ENVIRONMENT" Value="Development"/> | |||||
<EnvironmentVariable Name="ASPNETCORE_URLS" Value="http://0.0.0.0:80"/> | |||||
<EnvironmentVariable Name="ConnectionString" Value="Data Source=sqlserver.eshoponservicefabricsql,5433;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word"/> | |||||
<EnvironmentVariable Name="EventBusConnection" Value="rabbitmq.eshoponservicefabricbus"/> | |||||
<EnvironmentVariable Name="AzureServiceBusEnabled" Value="False"/> | |||||
<EnvironmentVariable Name="GracePeriodTime" Value="1"/> | |||||
<EnvironmentVariable Name="CheckUpdateTime" Value="30000"/> | |||||
<EnvironmentVariable Name="ApplicationInsights__InstrumentationKey" Value=""/> | |||||
<EnvironmentVariable Name="OrchestratorType" Value="SF"/> | |||||
<EnvironmentVariable Name="UseLoadTest" Value="True"/> | |||||
</EnvironmentVariables> | |||||
</CodePackage> | |||||
<!-- Config package is the contents of the Config directoy under PackageRoot that contains an | |||||
independently-updateable and versioned set of custom configuration settings for your service. --> | |||||
<ConfigPackage Name="Config" Version="1.0.0" /> | |||||
<Resources> | |||||
<Endpoints> | |||||
<!-- This endpoint is used by the communication listener to obtain the port on which to | |||||
listen. Please note that if your service is partitioned, this port is shared with | |||||
replicas of different partitions that are placed in your code. --> | |||||
<Endpoint Name="OrderingBackgroundTypeEndpoint" Port="5111" UriScheme="http"/> | |||||
</Endpoints> | |||||
</Resources> | |||||
</ServiceManifest> |
@ -1,9 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8" ?> | |||||
<Settings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2011/01/fabric"> | |||||
<!-- Add your custom configuration sections and parameters here --> | |||||
<!-- | |||||
<Section Name="MyConfigSection"> | |||||
<Parameter Name="MyParameter" Value="Value1" /> | |||||
</Section> | |||||
--> | |||||
</Settings> |
@ -1,44 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<ServiceManifest Name="PaymentApiPkg" | |||||
Version="1.0.0" | |||||
xmlns="http://schemas.microsoft.com/2011/01/fabric" | |||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<ServiceTypes> | |||||
<!-- This is the name of your ServiceType. | |||||
The UseImplicitHost attribute indicates this is a guest service. --> | |||||
<StatelessServiceType ServiceTypeName="PaymentApiType" UseImplicitHost="true" /> | |||||
</ServiceTypes> | |||||
<!-- Code package is your service executable. --> | |||||
<CodePackage Name="Code" Version="1.0.0"> | |||||
<EntryPoint> | |||||
<!-- Follow this link for more information about deploying Windows containers to Service Fabric: https://aka.ms/sfguestcontainers --> | |||||
<ContainerHost> | |||||
<ImageName>eshop/payment.api:#{tag}#</ImageName> | |||||
</ContainerHost> | |||||
</EntryPoint> | |||||
<!-- Pass environment variables to your container: --> | |||||
<EnvironmentVariables> | |||||
<EnvironmentVariable Name="ASPNETCORE_ENVIRONMENT" Value="Development"/> | |||||
<EnvironmentVariable Name="ASPNETCORE_URLS" Value="http://0.0.0.0:80"/> | |||||
<EnvironmentVariable Name="EventBusConnection" Value="rabbitmq.eshoponservicefabricbus"/> | |||||
<EnvironmentVariable Name="AzureServiceBusEnabled" Value="False"/> | |||||
<EnvironmentVariable Name="ApplicationInsights__InstrumentationKey" Value=""/> | |||||
<EnvironmentVariable Name="OrchestratorType" Value="SF"/> | |||||
</EnvironmentVariables> | |||||
</CodePackage> | |||||
<!-- Config package is the contents of the Config directoy under PackageRoot that contains an | |||||
independently-updateable and versioned set of custom configuration settings for your service. --> | |||||
<ConfigPackage Name="Config" Version="1.0.0" /> | |||||
<Resources> | |||||
<Endpoints> | |||||
<!-- This endpoint is used by the communication listener to obtain the port on which to | |||||
listen. Please note that if your service is partitioned, this port is shared with | |||||
replicas of different partitions that are placed in your code. --> | |||||
<Endpoint Name="PaymentApiTypeEndpoint" Port="5108"/> | |||||
</Endpoints> | |||||
</Resources> | |||||
</ServiceManifest> |
@ -1,16 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Application Name="fabric:/eShopOnServiceFabric" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
<Parameter Name="OrderingBackground_InstanceCount" Value="-1" /> | |||||
<Parameter Name="MarketingApi_InstanceCount" Value="1" /> | |||||
<Parameter Name="LocationsApi_InstanceCount" Value="1" /> | |||||
<Parameter Name="PaymentApi_InstanceCount" Value="1" /> | |||||
<Parameter Name="OrderingApi_InstanceCount" Value="1" /> | |||||
<Parameter Name="CatalogApi_InstanceCount" Value="1" /> | |||||
<Parameter Name="BasketApi_InstanceCount" Value="1" /> | |||||
<Parameter Name="IdentityUrlExternal" Value="http://#{your_sf_dns}#:5105" /> | |||||
<Parameter Name="PicBaseUrlCatalog" Value="http://#{your_sf_dns}#:5101/api/v1/catalog/items/[0]/pic/" /> | |||||
<Parameter Name="PicBaseUrlMarketing" Value="http://#{your_sf_dns}#:5110/api/v1/campaigns/[0]/pic/" /> | |||||
<Parameter Name="InstrumentationKey" Value="" /> | |||||
</Parameters> | |||||
</Application> |
@ -1,5 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Application Name="fabric:/eShopOnServiceFabric" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
</Parameters> | |||||
</Application> |
@ -1,5 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Application Name="fabric:/eShopOnServiceFabric" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
</Parameters> | |||||
</Application> |
@ -1,25 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<PublishProfile xmlns="http://schemas.microsoft.com/2015/05/fabrictools"> | |||||
<!-- ClusterConnectionParameters allows you to specify the PowerShell parameters to use when connecting to the Service Fabric cluster. | |||||
Valid parameters are any that are accepted by the Connect-ServiceFabricCluster cmdlet. | |||||
For a remote cluster, you would need to specify the appropriate parameters for that specific cluster. | |||||
For example: <ClusterConnectionParameters ConnectionEndpoint="mycluster.westus.cloudapp.azure.com:19000" /> | |||||
Example showing parameters for a cluster that uses certificate security: | |||||
<ClusterConnectionParameters ConnectionEndpoint="mycluster.westus.cloudapp.azure.com:19000" | |||||
X509Credential="true" | |||||
ServerCertThumbprint="0123456789012345678901234567890123456789" | |||||
FindType="FindByThumbprint" | |||||
FindValue="9876543210987654321098765432109876543210" | |||||
StoreLocation="CurrentUser" | |||||
StoreName="My" /> | |||||
Example showing parameters for a cluster that uses Azure Active Directory (AAD) security: | |||||
<ClusterConnectionParameters ConnectionEndpoint="mycluster.westus.cloudapp.azure.com:19000" | |||||
AzureActiveDirectory="true" | |||||
ServerCertThumbprint="0123456789012345678901234567890123456789" /> | |||||
--> | |||||
<ClusterConnectionParameters ConnectionEndpoint="#{your_sf_dns}#:19000" /> | |||||
<ApplicationParameterFile Path="..\ApplicationParameters\Cloud.xml" /> | |||||
</PublishProfile> |
@ -1,11 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<PublishProfile xmlns="http://schemas.microsoft.com/2015/05/fabrictools"> | |||||
<!-- ClusterConnectionParameters allows you to specify the PowerShell parameters to use when connecting to the Service Fabric cluster. | |||||
Valid parameters are any that are accepted by the Connect-ServiceFabricCluster cmdlet. | |||||
For a local cluster, you would typically not use any parameters. | |||||
For example: <ClusterConnectionParameters /> | |||||
--> | |||||
<ClusterConnectionParameters /> | |||||
<ApplicationParameterFile Path="..\ApplicationParameters\Local.1Node.xml" /> | |||||
</PublishProfile> |
@ -1,11 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<PublishProfile xmlns="http://schemas.microsoft.com/2015/05/fabrictools"> | |||||
<!-- ClusterConnectionParameters allows you to specify the PowerShell parameters to use when connecting to the Service Fabric cluster. | |||||
Valid parameters are any that are accepted by the Connect-ServiceFabricCluster cmdlet. | |||||
For a local cluster, you would typically not use any parameters. | |||||
For example: <ClusterConnectionParameters /> | |||||
--> | |||||
<ClusterConnectionParameters /> | |||||
<ApplicationParameterFile Path="..\ApplicationParameters\Local.5Node.xml" /> | |||||
</PublishProfile> |
@ -1,258 +0,0 @@ | |||||
<# | |||||
.SYNOPSIS | |||||
Deploys a Service Fabric application type to a cluster. | |||||
.DESCRIPTION | |||||
This script deploys a Service Fabric application type to a cluster. It is invoked by Visual Studio when deploying a Service Fabric Application project. | |||||
.NOTES | |||||
WARNING: This script file is invoked by Visual Studio. Its parameters must not be altered but its logic can be customized as necessary. | |||||
.PARAMETER PublishProfileFile | |||||
Path to the file containing the publish profile. | |||||
.PARAMETER ApplicationPackagePath | |||||
Path to the folder of the packaged Service Fabric application. | |||||
.PARAMETER DeployOnly | |||||
Indicates that the Service Fabric application should not be created or upgraded after registering the application type. | |||||
.PARAMETER ApplicationParameter | |||||
Hashtable of the Service Fabric application parameters to be used for the application. | |||||
.PARAMETER UnregisterUnusedApplicationVersionsAfterUpgrade | |||||
Indicates whether to unregister any unused application versions that exist after an upgrade is finished. | |||||
.PARAMETER OverrideUpgradeBehavior | |||||
Indicates the behavior used to override the upgrade settings specified by the publish profile. | |||||
'None' indicates that the upgrade settings will not be overridden. | |||||
'ForceUpgrade' indicates that an upgrade will occur with default settings, regardless of what is specified in the publish profile. | |||||
'VetoUpgrade' indicates that an upgrade will not occur, regardless of what is specified in the publish profile. | |||||
.PARAMETER UseExistingClusterConnection | |||||
Indicates that the script should make use of an existing cluster connection that has already been established in the PowerShell session. The cluster connection parameters configured in the publish profile are ignored. | |||||
.PARAMETER OverwriteBehavior | |||||
Overwrite Behavior if an application exists in the cluster with the same name. Available Options are Never, Always, SameAppTypeAndVersion. This setting is not applicable when upgrading an application. | |||||
'Never' will not remove the existing application. This is the default behavior. | |||||
'Always' will remove the existing application even if its Application type and Version is different from the application being created. | |||||
'SameAppTypeAndVersion' will remove the existing application only if its Application type and Version is same as the application being created. | |||||
.PARAMETER SkipPackageValidation | |||||
Switch signaling whether the package should be validated or not before deployment. | |||||
.PARAMETER SecurityToken | |||||
A security token for authentication to cluster management endpoints. Used for silent authentication to clusters that are protected by Azure Active Directory. | |||||
.PARAMETER CopyPackageTimeoutSec | |||||
Timeout in seconds for copying application package to image store. | |||||
.EXAMPLE | |||||
. Scripts\Deploy-FabricApplication.ps1 -ApplicationPackagePath 'pkg\Debug' | |||||
Deploy the application using the default package location for a Debug build. | |||||
.EXAMPLE | |||||
. Scripts\Deploy-FabricApplication.ps1 -ApplicationPackagePath 'pkg\Debug' -DoNotCreateApplication | |||||
Deploy the application but do not create the application instance. | |||||
.EXAMPLE | |||||
. Scripts\Deploy-FabricApplication.ps1 -ApplicationPackagePath 'pkg\Debug' -ApplicationParameter @{CustomParameter1='MyValue'; CustomParameter2='MyValue'} | |||||
Deploy the application by providing values for parameters that are defined in the application manifest. | |||||
#> | |||||
Param | |||||
( | |||||
[String] | |||||
$PublishProfileFile, | |||||
[String] | |||||
$ApplicationPackagePath, | |||||
[Switch] | |||||
$DeployOnly, | |||||
[Hashtable] | |||||
$ApplicationParameter, | |||||
[Boolean] | |||||
$UnregisterUnusedApplicationVersionsAfterUpgrade, | |||||
[String] | |||||
[ValidateSet('None', 'ForceUpgrade', 'VetoUpgrade')] | |||||
$OverrideUpgradeBehavior = 'None', | |||||
[Switch] | |||||
$UseExistingClusterConnection, | |||||
[String] | |||||
[ValidateSet('Never','Always','SameAppTypeAndVersion')] | |||||
$OverwriteBehavior = 'Never', | |||||
[Switch] | |||||
$SkipPackageValidation, | |||||
[String] | |||||
$SecurityToken, | |||||
[int] | |||||
$CopyPackageTimeoutSec | |||||
) | |||||
function Read-XmlElementAsHashtable | |||||
{ | |||||
Param ( | |||||
[System.Xml.XmlElement] | |||||
$Element | |||||
) | |||||
$hashtable = @{} | |||||
if ($Element.Attributes) | |||||
{ | |||||
$Element.Attributes | | |||||
ForEach-Object { | |||||
$boolVal = $null | |||||
if ([bool]::TryParse($_.Value, [ref]$boolVal)) { | |||||
$hashtable[$_.Name] = $boolVal | |||||
} | |||||
else { | |||||
$hashtable[$_.Name] = $_.Value | |||||
} | |||||
} | |||||
} | |||||
return $hashtable | |||||
} | |||||
function Read-PublishProfile | |||||
{ | |||||
Param ( | |||||
[ValidateScript({Test-Path $_ -PathType Leaf})] | |||||
[String] | |||||
$PublishProfileFile | |||||
) | |||||
$publishProfileXml = [Xml] (Get-Content $PublishProfileFile) | |||||
$publishProfile = @{} | |||||
$publishProfile.ClusterConnectionParameters = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("ClusterConnectionParameters") | |||||
$publishProfile.UpgradeDeployment = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("UpgradeDeployment") | |||||
$publishProfile.CopyPackageParameters = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("CopyPackageParameters") | |||||
if ($publishProfileXml.PublishProfile.Item("UpgradeDeployment")) | |||||
{ | |||||
$publishProfile.UpgradeDeployment.Parameters = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("UpgradeDeployment").Item("Parameters") | |||||
if ($publishProfile.UpgradeDeployment["Mode"]) | |||||
{ | |||||
$publishProfile.UpgradeDeployment.Parameters[$publishProfile.UpgradeDeployment["Mode"]] = $true | |||||
} | |||||
} | |||||
$publishProfileFolder = (Split-Path $PublishProfileFile) | |||||
$publishProfile.ApplicationParameterFile = [System.IO.Path]::Combine($PublishProfileFolder, $publishProfileXml.PublishProfile.ApplicationParameterFile.Path) | |||||
return $publishProfile | |||||
} | |||||
$LocalFolder = (Split-Path $MyInvocation.MyCommand.Path) | |||||
if (!$PublishProfileFile) | |||||
{ | |||||
$PublishProfileFile = "$LocalFolder\..\PublishProfiles\Local.xml" | |||||
} | |||||
if (!$ApplicationPackagePath) | |||||
{ | |||||
$ApplicationPackagePath = "$LocalFolder\..\pkg\Release" | |||||
} | |||||
$ApplicationPackagePath = Resolve-Path $ApplicationPackagePath | |||||
$publishProfile = Read-PublishProfile $PublishProfileFile | |||||
if (-not $UseExistingClusterConnection) | |||||
{ | |||||
$ClusterConnectionParameters = $publishProfile.ClusterConnectionParameters | |||||
if ($SecurityToken) | |||||
{ | |||||
$ClusterConnectionParameters["SecurityToken"] = $SecurityToken | |||||
} | |||||
try | |||||
{ | |||||
[void](Connect-ServiceFabricCluster @ClusterConnectionParameters) | |||||
} | |||||
catch [System.Fabric.FabricObjectClosedException] | |||||
{ | |||||
Write-Warning "Service Fabric cluster may not be connected." | |||||
throw | |||||
} | |||||
} | |||||
$RegKey = "HKLM:\SOFTWARE\Microsoft\Service Fabric SDK" | |||||
$ModuleFolderPath = (Get-ItemProperty -Path $RegKey -Name FabricSDKPSModulePath).FabricSDKPSModulePath | |||||
Import-Module "$ModuleFolderPath\ServiceFabricSDK.psm1" | |||||
$IsUpgrade = ($publishProfile.UpgradeDeployment -and $publishProfile.UpgradeDeployment.Enabled -and $OverrideUpgradeBehavior -ne 'VetoUpgrade') -or $OverrideUpgradeBehavior -eq 'ForceUpgrade' | |||||
$PublishParameters = @{ | |||||
'ApplicationPackagePath' = $ApplicationPackagePath | |||||
'ApplicationParameterFilePath' = $publishProfile.ApplicationParameterFile | |||||
'ApplicationParameter' = $ApplicationParameter | |||||
'ErrorAction' = 'Stop' | |||||
} | |||||
if ($publishProfile.CopyPackageParameters.CopyPackageTimeoutSec) | |||||
{ | |||||
$PublishParameters['CopyPackageTimeoutSec'] = $publishProfile.CopyPackageParameters.CopyPackageTimeoutSec | |||||
} | |||||
if ($publishProfile.CopyPackageParameters.CompressPackage) | |||||
{ | |||||
$PublishParameters['CompressPackage'] = $publishProfile.CopyPackageParameters.CompressPackage | |||||
} | |||||
# CopyPackageTimeoutSec parameter overrides the value from the publish profile | |||||
if ($CopyPackageTimeoutSec) | |||||
{ | |||||
$PublishParameters['CopyPackageTimeoutSec'] = $CopyPackageTimeoutSec | |||||
} | |||||
if ($IsUpgrade) | |||||
{ | |||||
$Action = "RegisterAndUpgrade" | |||||
if ($DeployOnly) | |||||
{ | |||||
$Action = "Register" | |||||
} | |||||
$UpgradeParameters = $publishProfile.UpgradeDeployment.Parameters | |||||
if ($OverrideUpgradeBehavior -eq 'ForceUpgrade') | |||||
{ | |||||
# Warning: Do not alter these upgrade parameters. It will create an inconsistency with Visual Studio's behavior. | |||||
$UpgradeParameters = @{ UnmonitoredAuto = $true; Force = $true } | |||||
} | |||||
$PublishParameters['Action'] = $Action | |||||
$PublishParameters['UpgradeParameters'] = $UpgradeParameters | |||||
$PublishParameters['UnregisterUnusedVersions'] = $UnregisterUnusedApplicationVersionsAfterUpgrade | |||||
Publish-UpgradedServiceFabricApplication @PublishParameters | |||||
} | |||||
else | |||||
{ | |||||
$Action = "RegisterAndCreate" | |||||
if ($DeployOnly) | |||||
{ | |||||
$Action = "Register" | |||||
} | |||||
$PublishParameters['Action'] = $Action | |||||
$PublishParameters['OverwriteBehavior'] = $OverwriteBehavior | |||||
$PublishParameters['SkipPackageValidation'] = $SkipPackageValidation | |||||
Publish-NewServiceFabricApplication @PublishParameters | |||||
} |
@ -1,57 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" InitialTargets=";ValidateMSBuildFiles"> | |||||
<Import Project="..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.0\build\Microsoft.VisualStudio.Azure.Fabric.Application.props" Condition="Exists('..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.0\build\Microsoft.VisualStudio.Azure.Fabric.Application.props')" /> | |||||
<PropertyGroup Label="Globals"> | |||||
<ProjectGuid>983eab84-65c5-4793-a300-08f97c791a15</ProjectGuid> | |||||
<ProjectVersion>1.6</ProjectVersion> | |||||
<MinToolsVersion>1.5</MinToolsVersion> | |||||
</PropertyGroup> | |||||
<ItemGroup Label="ProjectConfigurations"> | |||||
<ProjectConfiguration Include="Debug|x64"> | |||||
<Configuration>Debug</Configuration> | |||||
<Platform>x64</Platform> | |||||
</ProjectConfiguration> | |||||
<ProjectConfiguration Include="Release|x64"> | |||||
<Configuration>Release</Configuration> | |||||
<Platform>x64</Platform> | |||||
</ProjectConfiguration> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<None Include="ApplicationPackageRoot\ApplicationManifest.xml" /> | |||||
<None Include="ApplicationParameters\Cloud.xml" /> | |||||
<None Include="ApplicationParameters\Local.1Node.xml" /> | |||||
<None Include="ApplicationParameters\Local.5Node.xml" /> | |||||
<None Include="packages.config" /> | |||||
<None Include="PublishProfiles\Cloud.xml" /> | |||||
<None Include="PublishProfiles\Local.1Node.xml" /> | |||||
<None Include="PublishProfiles\Local.5Node.xml" /> | |||||
<None Include="Scripts\Deploy-FabricApplication.ps1" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<Content Include="ApplicationPackageRoot\BasketApiPkg\Config\Settings.xml" /> | |||||
<Content Include="ApplicationPackageRoot\BasketApiPkg\ServiceManifest.xml" /> | |||||
<Content Include="ApplicationPackageRoot\CatalogApiPkg\Config\Settings.xml" /> | |||||
<Content Include="ApplicationPackageRoot\CatalogApiPkg\ServiceManifest.xml" /> | |||||
<Content Include="ApplicationPackageRoot\LocationsApiPkg\Config\Settings.xml" /> | |||||
<Content Include="ApplicationPackageRoot\LocationsApiPkg\ServiceManifest.xml" /> | |||||
<Content Include="ApplicationPackageRoot\MarketingApiPkg\Config\Settings.xml" /> | |||||
<Content Include="ApplicationPackageRoot\MarketingApiPkg\ServiceManifest.xml" /> | |||||
<Content Include="ApplicationPackageRoot\OrderingApiPkg\Config\Settings.xml" /> | |||||
<Content Include="ApplicationPackageRoot\OrderingApiPkg\ServiceManifest.xml" /> | |||||
<Content Include="ApplicationPackageRoot\OrderingBackgroundPkg\Config\Settings.xml" /> | |||||
<Content Include="ApplicationPackageRoot\OrderingBackgroundPkg\ServiceManifest.xml" /> | |||||
<Content Include="ApplicationPackageRoot\PaymentApiPkg\Config\Settings.xml" /> | |||||
<Content Include="ApplicationPackageRoot\PaymentApiPkg\ServiceManifest.xml" /> | |||||
<Content Include="packages.config" /> | |||||
</ItemGroup> | |||||
<Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" /> | |||||
<PropertyGroup> | |||||
<ApplicationProjectTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Service Fabric Tools\Microsoft.VisualStudio.Azure.Fabric.ApplicationProject.targets</ApplicationProjectTargetsPath> | |||||
</PropertyGroup> | |||||
<Import Project="$(ApplicationProjectTargetsPath)" Condition="Exists('$(ApplicationProjectTargetsPath)')" /> | |||||
<Import Project="..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.0\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets" Condition="Exists('..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.0\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets')" /> | |||||
<Target Name="ValidateMSBuildFiles"> | |||||
<Error Condition="!Exists('..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.0\build\Microsoft.VisualStudio.Azure.Fabric.Application.props')" Text="Unable to find the '..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.0\build\Microsoft.VisualStudio.Azure.Fabric.Application.props' file. Please restore the 'Microsoft.VisualStudio.Azure.Fabric.MSBuild' Nuget package" /> | |||||
<Error Condition="!Exists('..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.0\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets')" Text="Unable to find the '..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.0\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets' file. Please restore the 'Microsoft.VisualStudio.Azure.Fabric.MSBuild' Nuget package" /> | |||||
</Target> | |||||
</Project> |
@ -1,4 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<packages> | |||||
<package id="Microsoft.VisualStudio.Azure.Fabric.MSBuild" version="1.6.0" /> | |||||
</packages> |
@ -1,52 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<ApplicationManifest ApplicationTypeName="eShopOnServiceFabricIdSrvType" | |||||
ApplicationTypeVersion="1.0.0" | |||||
xmlns="http://schemas.microsoft.com/2011/01/fabric" | |||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
<Parameter Name="IdentityApi_InstanceCount" DefaultValue="-1" /> | |||||
<Parameter Name="SpaClient" DefaultValue="" /> | |||||
<Parameter Name="XamarinCallback" DefaultValue="" /> | |||||
<Parameter Name="MvcClient" DefaultValue="" /> | |||||
<Parameter Name="LocationApiClient" DefaultValue="" /> | |||||
<Parameter Name="MarketingApiClient" DefaultValue="" /> | |||||
<Parameter Name="BasketApiClient" DefaultValue="" /> | |||||
<Parameter Name="OrderingApiClient" DefaultValue="" /> | |||||
<Parameter Name="InstrumentationKey" DefaultValue="" /> | |||||
</Parameters> | |||||
<!-- Import the ServiceManifest from the ServicePackage. The ServiceManifestName and ServiceManifestVersion | |||||
should match the Name and Version attributes of the ServiceManifest element defined in the | |||||
ServiceManifest.xml file. --> | |||||
<ServiceManifestImport> | |||||
<ServiceManifestRef ServiceManifestName="IdentityApiPkg" ServiceManifestVersion="1.0.0" /> | |||||
<!-- Override external urls depending on environment --> | |||||
<EnvironmentOverrides CodePackageRef="Code"> | |||||
<EnvironmentVariable Name="SpaClient" Value="[SpaClient]"/> | |||||
<EnvironmentVariable Name="XamarinCallback" Value="[XamarinCallback]"/> | |||||
<EnvironmentVariable Name="MvcClient" Value="[MvcClient]"/> | |||||
<EnvironmentVariable Name="LocationApiClient" Value="[LocationApiClient]"/> | |||||
<EnvironmentVariable Name="MarketingApiClient" Value="[MarketingApiClient]"/> | |||||
<EnvironmentVariable Name="BasketApiClient" Value="[BasketApiClient]"/> | |||||
<EnvironmentVariable Name="OrderingApiClient" Value="[OrderingApiClient]"/> | |||||
<EnvironmentVariable Name="ApplicationInsights__InstrumentationKey" Value="[InstrumentationKey]"/> | |||||
</EnvironmentOverrides> | |||||
<Policies> | |||||
<ContainerHostPolicies CodePackageRef="Code"> | |||||
<PortBinding ContainerPort="80" EndpointRef="IdentityApiTypeEndpoint"/> | |||||
</ContainerHostPolicies> | |||||
</Policies> | |||||
</ServiceManifestImport> | |||||
<DefaultServices> | |||||
<!-- The section below creates instances of service types, when an instance of this | |||||
application type is created. You can also create one or more instances of service type using the | |||||
ServiceFabric PowerShell module. | |||||
The attribute ServiceTypeName below must match the name defined in the imported ServiceManifest.xml file. --> | |||||
<Service Name="IdentityApi" ServiceDnsName="identityapi.eshoponservicefabric" ServicePackageActivationMode="ExclusiveProcess"> | |||||
<StatelessService ServiceTypeName="IdentityApiType" InstanceCount="[IdentityApi_InstanceCount]"> | |||||
<SingletonPartition /> | |||||
</StatelessService> | |||||
</Service> | |||||
</DefaultServices> | |||||
</ApplicationManifest> |
@ -1,9 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8" ?> | |||||
<Settings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2011/01/fabric"> | |||||
<!-- Add your custom configuration sections and parameters here --> | |||||
<!-- | |||||
<Section Name="MyConfigSection"> | |||||
<Parameter Name="MyParameter" Value="Value1" /> | |||||
</Section> | |||||
--> | |||||
</Settings> |
@ -1,53 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<ServiceManifest Name="IdentityApiPkg" | |||||
Version="1.0.0" | |||||
xmlns="http://schemas.microsoft.com/2011/01/fabric" | |||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<ServiceTypes> | |||||
<!-- This is the name of your ServiceType. | |||||
The UseImplicitHost attribute indicates this is a guest service. --> | |||||
<StatelessServiceType ServiceTypeName="IdentityApiType" UseImplicitHost="true" /> | |||||
</ServiceTypes> | |||||
<!-- Code package is your service executable. --> | |||||
<CodePackage Name="Code" Version="1.0.0"> | |||||
<EntryPoint> | |||||
<!-- Follow this link for more information about deploying Windows containers to Service Fabric: https://aka.ms/sfguestcontainers --> | |||||
<ContainerHost> | |||||
<ImageName>eshop/identity.api:#{tag}#</ImageName> | |||||
</ContainerHost> | |||||
</EntryPoint> | |||||
<!-- Pass environment variables to your container: --> | |||||
<EnvironmentVariables> | |||||
<EnvironmentVariable Name="ASPNETCORE_ENVIRONMENT" Value="Development"/> | |||||
<EnvironmentVariable Name="ASPNETCORE_URLS" Value="http://0.0.0.0:80"/> | |||||
<EnvironmentVariable Name="SpaClient" Value=""/> | |||||
<EnvironmentVariable Name="XamarinCallback" Value=""/> | |||||
<EnvironmentVariable Name="ConnectionString" Value="Data Source=sqlserver.eshoponservicefabricsql,5433;Database=Microsoft.eShopOnContainers.Service.IdentityDb;User Id=sa;Password=Pass@word"/> | |||||
<EnvironmentVariable Name="MvcClient" Value=""/> | |||||
<EnvironmentVariable Name="LocationApiClient" Value=""/> | |||||
<EnvironmentVariable Name="MarketingApiClient" Value=""/> | |||||
<EnvironmentVariable Name="BasketApiClient" Value=""/> | |||||
<EnvironmentVariable Name="OrderingApiClient" Value=""/> | |||||
<EnvironmentVariable Name="UseCustomizationData" Value="True"/> | |||||
<EnvironmentVariable Name="ApplicationInsights__InstrumentationKey" Value=""/> | |||||
<EnvironmentVariable Name="OrchestratorType" Value="SF"/> | |||||
</EnvironmentVariables> | |||||
</CodePackage> | |||||
<!-- Config package is the contents of the Config directoy under PackageRoot that contains an | |||||
independently-updateable and versioned set of custom configuration settings for your service. --> | |||||
<ConfigPackage Name="Config" Version="1.0.0" /> | |||||
<Resources> | |||||
<Endpoints> | |||||
<!-- This endpoint is used by the communication listener to obtain the port on which to | |||||
listen. Please note that if your service is partitioned, this port is shared with | |||||
replicas of different partitions that are placed in your code. --> | |||||
<Endpoint Name="IdentityApiTypeEndpoint" Port="5105" UriScheme="http"/> | |||||
</Endpoints> | |||||
</Resources> | |||||
</ServiceManifest> |
@ -1,14 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Application Name="fabric:/eShopOnServiceFabricIdSrv" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
<Parameter Name="IdentityApi_InstanceCount" Value="1" /> | |||||
<Parameter Name="SpaClient" Value="http://#{your_sf_dns}#:5104" /> | |||||
<Parameter Name="XamarinCallback" Value="http://#{your_sf_dns}#:5105/xamarincallback" /> | |||||
<Parameter Name="MvcClient" Value="http://#{your_sf_dns}#:5100" /> | |||||
<Parameter Name="LocationApiClient" Value="http://#{your_sf_dns}#:5109" /> | |||||
<Parameter Name="MarketingApiClient" Value="http://#{your_sf_dns}#:5110" /> | |||||
<Parameter Name="BasketApiClient" Value="http://#{your_sf_dns}#:5103" /> | |||||
<Parameter Name="OrderingApiClient" Value="http://#{your_sf_dns}#:5102" /> | |||||
<Parameter Name="InstrumentationKey" Value="" /> | |||||
</Parameters> | |||||
</Application> |
@ -1,5 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Application Name="fabric:/eShopOnServiceFabricIdSrv" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
</Parameters> | |||||
</Application> |
@ -1,5 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Application Name="fabric:/eShopOnServiceFabricIdSrv" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
</Parameters> | |||||
</Application> |
@ -1,25 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<PublishProfile xmlns="http://schemas.microsoft.com/2015/05/fabrictools"> | |||||
<!-- ClusterConnectionParameters allows you to specify the PowerShell parameters to use when connecting to the Service Fabric cluster. | |||||
Valid parameters are any that are accepted by the Connect-ServiceFabricCluster cmdlet. | |||||
For a remote cluster, you would need to specify the appropriate parameters for that specific cluster. | |||||
For example: <ClusterConnectionParameters ConnectionEndpoint="mycluster.westus.cloudapp.azure.com:19000" /> | |||||
Example showing parameters for a cluster that uses certificate security: | |||||
<ClusterConnectionParameters ConnectionEndpoint="mycluster.westus.cloudapp.azure.com:19000" | |||||
X509Credential="true" | |||||
ServerCertThumbprint="0123456789012345678901234567890123456789" | |||||
FindType="FindByThumbprint" | |||||
FindValue="9876543210987654321098765432109876543210" | |||||
StoreLocation="CurrentUser" | |||||
StoreName="My" /> | |||||
Example showing parameters for a cluster that uses Azure Active Directory (AAD) security: | |||||
<ClusterConnectionParameters ConnectionEndpoint="mycluster.westus.cloudapp.azure.com:19000" | |||||
AzureActiveDirectory="true" | |||||
ServerCertThumbprint="0123456789012345678901234567890123456789" /> | |||||
--> | |||||
<ClusterConnectionParameters ConnectionEndpoint="#{your_sf_dns}#:19000" /> | |||||
<ApplicationParameterFile Path="..\ApplicationParameters\Cloud.xml" /> | |||||
</PublishProfile> |
@ -1,11 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<PublishProfile xmlns="http://schemas.microsoft.com/2015/05/fabrictools"> | |||||
<!-- ClusterConnectionParameters allows you to specify the PowerShell parameters to use when connecting to the Service Fabric cluster. | |||||
Valid parameters are any that are accepted by the Connect-ServiceFabricCluster cmdlet. | |||||
For a local cluster, you would typically not use any parameters. | |||||
For example: <ClusterConnectionParameters /> | |||||
--> | |||||
<ClusterConnectionParameters /> | |||||
<ApplicationParameterFile Path="..\ApplicationParameters\Local.1Node.xml" /> | |||||
</PublishProfile> |
@ -1,11 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<PublishProfile xmlns="http://schemas.microsoft.com/2015/05/fabrictools"> | |||||
<!-- ClusterConnectionParameters allows you to specify the PowerShell parameters to use when connecting to the Service Fabric cluster. | |||||
Valid parameters are any that are accepted by the Connect-ServiceFabricCluster cmdlet. | |||||
For a local cluster, you would typically not use any parameters. | |||||
For example: <ClusterConnectionParameters /> | |||||
--> | |||||
<ClusterConnectionParameters /> | |||||
<ApplicationParameterFile Path="..\ApplicationParameters\Local.5Node.xml" /> | |||||
</PublishProfile> |
@ -1,258 +0,0 @@ | |||||
<# | |||||
.SYNOPSIS | |||||
Deploys a Service Fabric application type to a cluster. | |||||
.DESCRIPTION | |||||
This script deploys a Service Fabric application type to a cluster. It is invoked by Visual Studio when deploying a Service Fabric Application project. | |||||
.NOTES | |||||
WARNING: This script file is invoked by Visual Studio. Its parameters must not be altered but its logic can be customized as necessary. | |||||
.PARAMETER PublishProfileFile | |||||
Path to the file containing the publish profile. | |||||
.PARAMETER ApplicationPackagePath | |||||
Path to the folder of the packaged Service Fabric application. | |||||
.PARAMETER DeployOnly | |||||
Indicates that the Service Fabric application should not be created or upgraded after registering the application type. | |||||
.PARAMETER ApplicationParameter | |||||
Hashtable of the Service Fabric application parameters to be used for the application. | |||||
.PARAMETER UnregisterUnusedApplicationVersionsAfterUpgrade | |||||
Indicates whether to unregister any unused application versions that exist after an upgrade is finished. | |||||
.PARAMETER OverrideUpgradeBehavior | |||||
Indicates the behavior used to override the upgrade settings specified by the publish profile. | |||||
'None' indicates that the upgrade settings will not be overridden. | |||||
'ForceUpgrade' indicates that an upgrade will occur with default settings, regardless of what is specified in the publish profile. | |||||
'VetoUpgrade' indicates that an upgrade will not occur, regardless of what is specified in the publish profile. | |||||
.PARAMETER UseExistingClusterConnection | |||||
Indicates that the script should make use of an existing cluster connection that has already been established in the PowerShell session. The cluster connection parameters configured in the publish profile are ignored. | |||||
.PARAMETER OverwriteBehavior | |||||
Overwrite Behavior if an application exists in the cluster with the same name. Available Options are Never, Always, SameAppTypeAndVersion. This setting is not applicable when upgrading an application. | |||||
'Never' will not remove the existing application. This is the default behavior. | |||||
'Always' will remove the existing application even if its Application type and Version is different from the application being created. | |||||
'SameAppTypeAndVersion' will remove the existing application only if its Application type and Version is same as the application being created. | |||||
.PARAMETER SkipPackageValidation | |||||
Switch signaling whether the package should be validated or not before deployment. | |||||
.PARAMETER SecurityToken | |||||
A security token for authentication to cluster management endpoints. Used for silent authentication to clusters that are protected by Azure Active Directory. | |||||
.PARAMETER CopyPackageTimeoutSec | |||||
Timeout in seconds for copying application package to image store. | |||||
.EXAMPLE | |||||
. Scripts\Deploy-FabricApplication.ps1 -ApplicationPackagePath 'pkg\Debug' | |||||
Deploy the application using the default package location for a Debug build. | |||||
.EXAMPLE | |||||
. Scripts\Deploy-FabricApplication.ps1 -ApplicationPackagePath 'pkg\Debug' -DoNotCreateApplication | |||||
Deploy the application but do not create the application instance. | |||||
.EXAMPLE | |||||
. Scripts\Deploy-FabricApplication.ps1 -ApplicationPackagePath 'pkg\Debug' -ApplicationParameter @{CustomParameter1='MyValue'; CustomParameter2='MyValue'} | |||||
Deploy the application by providing values for parameters that are defined in the application manifest. | |||||
#> | |||||
Param | |||||
( | |||||
[String] | |||||
$PublishProfileFile, | |||||
[String] | |||||
$ApplicationPackagePath, | |||||
[Switch] | |||||
$DeployOnly, | |||||
[Hashtable] | |||||
$ApplicationParameter, | |||||
[Boolean] | |||||
$UnregisterUnusedApplicationVersionsAfterUpgrade, | |||||
[String] | |||||
[ValidateSet('None', 'ForceUpgrade', 'VetoUpgrade')] | |||||
$OverrideUpgradeBehavior = 'None', | |||||
[Switch] | |||||
$UseExistingClusterConnection, | |||||
[String] | |||||
[ValidateSet('Never','Always','SameAppTypeAndVersion')] | |||||
$OverwriteBehavior = 'Never', | |||||
[Switch] | |||||
$SkipPackageValidation, | |||||
[String] | |||||
$SecurityToken, | |||||
[int] | |||||
$CopyPackageTimeoutSec | |||||
) | |||||
function Read-XmlElementAsHashtable | |||||
{ | |||||
Param ( | |||||
[System.Xml.XmlElement] | |||||
$Element | |||||
) | |||||
$hashtable = @{} | |||||
if ($Element.Attributes) | |||||
{ | |||||
$Element.Attributes | | |||||
ForEach-Object { | |||||
$boolVal = $null | |||||
if ([bool]::TryParse($_.Value, [ref]$boolVal)) { | |||||
$hashtable[$_.Name] = $boolVal | |||||
} | |||||
else { | |||||
$hashtable[$_.Name] = $_.Value | |||||
} | |||||
} | |||||
} | |||||
return $hashtable | |||||
} | |||||
function Read-PublishProfile | |||||
{ | |||||
Param ( | |||||
[ValidateScript({Test-Path $_ -PathType Leaf})] | |||||
[String] | |||||
$PublishProfileFile | |||||
) | |||||
$publishProfileXml = [Xml] (Get-Content $PublishProfileFile) | |||||
$publishProfile = @{} | |||||
$publishProfile.ClusterConnectionParameters = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("ClusterConnectionParameters") | |||||
$publishProfile.UpgradeDeployment = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("UpgradeDeployment") | |||||
$publishProfile.CopyPackageParameters = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("CopyPackageParameters") | |||||
if ($publishProfileXml.PublishProfile.Item("UpgradeDeployment")) | |||||
{ | |||||
$publishProfile.UpgradeDeployment.Parameters = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("UpgradeDeployment").Item("Parameters") | |||||
if ($publishProfile.UpgradeDeployment["Mode"]) | |||||
{ | |||||
$publishProfile.UpgradeDeployment.Parameters[$publishProfile.UpgradeDeployment["Mode"]] = $true | |||||
} | |||||
} | |||||
$publishProfileFolder = (Split-Path $PublishProfileFile) | |||||
$publishProfile.ApplicationParameterFile = [System.IO.Path]::Combine($PublishProfileFolder, $publishProfileXml.PublishProfile.ApplicationParameterFile.Path) | |||||
return $publishProfile | |||||
} | |||||
$LocalFolder = (Split-Path $MyInvocation.MyCommand.Path) | |||||
if (!$PublishProfileFile) | |||||
{ | |||||
$PublishProfileFile = "$LocalFolder\..\PublishProfiles\Local.xml" | |||||
} | |||||
if (!$ApplicationPackagePath) | |||||
{ | |||||
$ApplicationPackagePath = "$LocalFolder\..\pkg\Release" | |||||
} | |||||
$ApplicationPackagePath = Resolve-Path $ApplicationPackagePath | |||||
$publishProfile = Read-PublishProfile $PublishProfileFile | |||||
if (-not $UseExistingClusterConnection) | |||||
{ | |||||
$ClusterConnectionParameters = $publishProfile.ClusterConnectionParameters | |||||
if ($SecurityToken) | |||||
{ | |||||
$ClusterConnectionParameters["SecurityToken"] = $SecurityToken | |||||
} | |||||
try | |||||
{ | |||||
[void](Connect-ServiceFabricCluster @ClusterConnectionParameters) | |||||
} | |||||
catch [System.Fabric.FabricObjectClosedException] | |||||
{ | |||||
Write-Warning "Service Fabric cluster may not be connected." | |||||
throw | |||||
} | |||||
} | |||||
$RegKey = "HKLM:\SOFTWARE\Microsoft\Service Fabric SDK" | |||||
$ModuleFolderPath = (Get-ItemProperty -Path $RegKey -Name FabricSDKPSModulePath).FabricSDKPSModulePath | |||||
Import-Module "$ModuleFolderPath\ServiceFabricSDK.psm1" | |||||
$IsUpgrade = ($publishProfile.UpgradeDeployment -and $publishProfile.UpgradeDeployment.Enabled -and $OverrideUpgradeBehavior -ne 'VetoUpgrade') -or $OverrideUpgradeBehavior -eq 'ForceUpgrade' | |||||
$PublishParameters = @{ | |||||
'ApplicationPackagePath' = $ApplicationPackagePath | |||||
'ApplicationParameterFilePath' = $publishProfile.ApplicationParameterFile | |||||
'ApplicationParameter' = $ApplicationParameter | |||||
'ErrorAction' = 'Stop' | |||||
} | |||||
if ($publishProfile.CopyPackageParameters.CopyPackageTimeoutSec) | |||||
{ | |||||
$PublishParameters['CopyPackageTimeoutSec'] = $publishProfile.CopyPackageParameters.CopyPackageTimeoutSec | |||||
} | |||||
if ($publishProfile.CopyPackageParameters.CompressPackage) | |||||
{ | |||||
$PublishParameters['CompressPackage'] = $publishProfile.CopyPackageParameters.CompressPackage | |||||
} | |||||
# CopyPackageTimeoutSec parameter overrides the value from the publish profile | |||||
if ($CopyPackageTimeoutSec) | |||||
{ | |||||
$PublishParameters['CopyPackageTimeoutSec'] = $CopyPackageTimeoutSec | |||||
} | |||||
if ($IsUpgrade) | |||||
{ | |||||
$Action = "RegisterAndUpgrade" | |||||
if ($DeployOnly) | |||||
{ | |||||
$Action = "Register" | |||||
} | |||||
$UpgradeParameters = $publishProfile.UpgradeDeployment.Parameters | |||||
if ($OverrideUpgradeBehavior -eq 'ForceUpgrade') | |||||
{ | |||||
# Warning: Do not alter these upgrade parameters. It will create an inconsistency with Visual Studio's behavior. | |||||
$UpgradeParameters = @{ UnmonitoredAuto = $true; Force = $true } | |||||
} | |||||
$PublishParameters['Action'] = $Action | |||||
$PublishParameters['UpgradeParameters'] = $UpgradeParameters | |||||
$PublishParameters['UnregisterUnusedVersions'] = $UnregisterUnusedApplicationVersionsAfterUpgrade | |||||
Publish-UpgradedServiceFabricApplication @PublishParameters | |||||
} | |||||
else | |||||
{ | |||||
$Action = "RegisterAndCreate" | |||||
if ($DeployOnly) | |||||
{ | |||||
$Action = "Register" | |||||
} | |||||
$PublishParameters['Action'] = $Action | |||||
$PublishParameters['OverwriteBehavior'] = $OverwriteBehavior | |||||
$PublishParameters['SkipPackageValidation'] = $SkipPackageValidation | |||||
Publish-NewServiceFabricApplication @PublishParameters | |||||
} |
@ -1,46 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" InitialTargets=";ValidateMSBuildFiles"> | |||||
<Import Project="..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props" Condition="Exists('..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props')" /> | |||||
<PropertyGroup Label="Globals"> | |||||
<ProjectGuid>39b54901-d57d-416e-b51e-33c4017ca464</ProjectGuid> | |||||
<ProjectVersion>1.7</ProjectVersion> | |||||
<MinToolsVersion>1.5</MinToolsVersion> | |||||
<SupportedMSBuildNuGetPackageVersion>1.6</SupportedMSBuildNuGetPackageVersion> | |||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> | |||||
</PropertyGroup> | |||||
<ItemGroup Label="ProjectConfigurations"> | |||||
<ProjectConfiguration Include="Debug|x64"> | |||||
<Configuration>Debug</Configuration> | |||||
<Platform>x64</Platform> | |||||
</ProjectConfiguration> | |||||
<ProjectConfiguration Include="Release|x64"> | |||||
<Configuration>Release</Configuration> | |||||
<Platform>x64</Platform> | |||||
</ProjectConfiguration> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<None Include="ApplicationPackageRoot\ApplicationManifest.xml" /> | |||||
<None Include="ApplicationParameters\Cloud.xml" /> | |||||
<None Include="ApplicationParameters\Local.1Node.xml" /> | |||||
<None Include="ApplicationParameters\Local.5Node.xml" /> | |||||
<None Include="PublishProfiles\Cloud.xml" /> | |||||
<None Include="PublishProfiles\Local.1Node.xml" /> | |||||
<None Include="PublishProfiles\Local.5Node.xml" /> | |||||
<None Include="Scripts\Deploy-FabricApplication.ps1" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<Content Include="ApplicationPackageRoot\IdentityApiPkg\Config\Settings.xml" /> | |||||
<Content Include="ApplicationPackageRoot\IdentityApiPkg\ServiceManifest.xml" /> | |||||
<Content Include="packages.config" /> | |||||
</ItemGroup> | |||||
<Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" /> | |||||
<PropertyGroup> | |||||
<ApplicationProjectTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Service Fabric Tools\Microsoft.VisualStudio.Azure.Fabric.ApplicationProject.targets</ApplicationProjectTargetsPath> | |||||
</PropertyGroup> | |||||
<Import Project="$(ApplicationProjectTargetsPath)" Condition="Exists('$(ApplicationProjectTargetsPath)')" /> | |||||
<Import Project="..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets" Condition="Exists('..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets')" /> | |||||
<Target Name="ValidateMSBuildFiles"> | |||||
<Error Condition="!Exists('..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props')" Text="Unable to find the '..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props' file. Please restore the 'Microsoft.VisualStudio.Azure.Fabric.MSBuild' Nuget package" /> | |||||
<Error Condition="!Exists('..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets')" Text="Unable to find the '..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets' file. Please restore the 'Microsoft.VisualStudio.Azure.Fabric.MSBuild' Nuget package" /> | |||||
</Target> | |||||
</Project> |
@ -1,4 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<packages> | |||||
<package id="Microsoft.VisualStudio.Azure.Fabric.MSBuild" version="1.6.1" targetFramework="net461" /> | |||||
</packages> |
@ -1,40 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<ApplicationManifest ApplicationTypeName="eShopOnServiceFabricWebMVCType" | |||||
ApplicationTypeVersion="1.0.0" | |||||
xmlns="http://schemas.microsoft.com/2011/01/fabric" | |||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
<Parameter Name="WebMVC_InstanceCount" DefaultValue="-1" /> | |||||
<Parameter Name="IdentityUrl" DefaultValue="" /> | |||||
<Parameter Name="InstrumentationKey" DefaultValue="" /> | |||||
</Parameters> | |||||
<!-- Import the ServiceManifest from the ServicePackage. The ServiceManifestName and ServiceManifestVersion | |||||
should match the Name and Version attributes of the ServiceManifest element defined in the | |||||
ServiceManifest.xml file. --> | |||||
<ServiceManifestImport> | |||||
<ServiceManifestRef ServiceManifestName="WebMVCPkg" ServiceManifestVersion="1.0.0" /> | |||||
<!-- Override external urls depending on environment --> | |||||
<EnvironmentOverrides CodePackageRef="Code"> | |||||
<EnvironmentVariable Name="IdentityUrl" Value="[IdentityUrl]"/> | |||||
<EnvironmentVariable Name="ApplicationInsights__InstrumentationKey" Value="[InstrumentationKey]"/> | |||||
</EnvironmentOverrides> | |||||
<Policies> | |||||
<ContainerHostPolicies CodePackageRef="Code"> | |||||
<PortBinding ContainerPort="80" EndpointRef="WebMVCTypeEndpoint"/> | |||||
</ContainerHostPolicies> | |||||
</Policies> | |||||
</ServiceManifestImport> | |||||
<DefaultServices> | |||||
<!-- The section below creates instances of service types, when an instance of this | |||||
application type is created. You can also create one or more instances of service type using the | |||||
ServiceFabric PowerShell module. | |||||
The attribute ServiceTypeName below must match the name defined in the imported ServiceManifest.xml file. --> | |||||
<Service Name="WebMVC" ServiceDnsName="webmvc.eshoponservicefabric" ServicePackageActivationMode="ExclusiveProcess"> | |||||
<StatelessService ServiceTypeName="WebMVCType" InstanceCount="[WebMVC_InstanceCount]"> | |||||
<SingletonPartition /> | |||||
</StatelessService> | |||||
</Service> | |||||
</DefaultServices> | |||||
</ApplicationManifest> |
@ -1,9 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8" ?> | |||||
<Settings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2011/01/fabric"> | |||||
<!-- Add your custom configuration sections and parameters here --> | |||||
<!-- | |||||
<Section Name="MyConfigSection"> | |||||
<Parameter Name="MyParameter" Value="Value1" /> | |||||
</Section> | |||||
--> | |||||
</Settings> |
@ -1,55 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<ServiceManifest Name="WebMVCPkg" | |||||
Version="1.0.0" | |||||
xmlns="http://schemas.microsoft.com/2011/01/fabric" | |||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<ServiceTypes> | |||||
<!-- This is the name of your ServiceType. | |||||
The UseImplicitHost attribute indicates this is a guest service. --> | |||||
<StatelessServiceType ServiceTypeName="WebMVCType" UseImplicitHost="true" /> | |||||
</ServiceTypes> | |||||
<!-- Code package is your service executable. --> | |||||
<CodePackage Name="Code" Version="1.0.0"> | |||||
<EntryPoint> | |||||
<!-- Follow this link for more information about deploying Windows containers to Service Fabric: https://aka.ms/sfguestcontainers --> | |||||
<ContainerHost> | |||||
<ImageName>eshop/webmvc:#{tag}#</ImageName> | |||||
</ContainerHost> | |||||
</EntryPoint> | |||||
<!-- Pass environment variables to your container: --> | |||||
<EnvironmentVariables> | |||||
<EnvironmentVariable Name="ASPNETCORE_ENVIRONMENT" Value="Development"/> | |||||
<EnvironmentVariable Name="ASPNETCORE_URLS" Value="http://0.0.0.0:80"/> | |||||
<EnvironmentVariable Name="CatalogUrl" Value="http://catalogapi.eshoponservicefabric:5101"/> | |||||
<EnvironmentVariable Name="OrderingUrl" Value="http://orderingapi.eshoponservicefabric:5102"/> | |||||
<EnvironmentVariable Name="BasketUrl" Value="http://basketapi.eshoponservicefabric:5103"/> | |||||
<EnvironmentVariable Name="IdentityUrl" Value=""/> | |||||
<EnvironmentVariable Name="MarketingUrl" Value="http://marketingapi.eshoponservicefabric:5110"/> | |||||
<EnvironmentVariable Name="LocationsUrl" Value="http://locationsapi.eshoponservicefabric:5109"/> | |||||
<EnvironmentVariable Name="CatalogUrlHC" Value="http://catalogapi.eshoponservicefabric:5101/hc"/> | |||||
<EnvironmentVariable Name="OrderingUrlHC" Value="http://orderingapi.eshoponservicefabric:5102/hc"/> | |||||
<EnvironmentVariable Name="IdentityUrlHC" Value="http://identityapi.eshoponservicefabric:5105/hc"/> | |||||
<EnvironmentVariable Name="BasketUrlHC" Value="http://basketapi.eshoponservicefabric:5103/hc"/> | |||||
<EnvironmentVariable Name="PaymentUrlHC" Value="http://paymentapi.eshoponservicefabric:5108/hc"/> | |||||
<EnvironmentVariable Name="MarketingUrlHC" Value="http://marketingapi.eshoponservicefabric:5110/hc"/> | |||||
<EnvironmentVariable Name="ApplicationInsights__InstrumentationKey" Value=""/> | |||||
<EnvironmentVariable Name="OrchestratorType" Value="SF"/> | |||||
<EnvironmentVariable Name="UseLoadTest" Value="True"/> | |||||
</EnvironmentVariables> | |||||
</CodePackage> | |||||
<!-- Config package is the contents of the Config directoy under PackageRoot that contains an | |||||
independently-updateable and versioned set of custom configuration settings for your service. --> | |||||
<ConfigPackage Name="Config" Version="1.0.0" /> | |||||
<Resources> | |||||
<Endpoints> | |||||
<!-- This endpoint is used by the communication listener to obtain the port on which to | |||||
listen. Please note that if your service is partitioned, this port is shared with | |||||
replicas of different partitions that are placed in your code. --> | |||||
<Endpoint Name="WebMVCTypeEndpoint" UriScheme="http" Port="5100"/> | |||||
</Endpoints> | |||||
</Resources> | |||||
</ServiceManifest> |
@ -1,8 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Application Name="fabric:/eShopOnServiceFabricWebMVC" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
<Parameter Name="WebMVC_InstanceCount" Value="1" /> | |||||
<Parameter Name="IdentityUrl" Value="http://#{your_sf_dns}#:5105" /> | |||||
<Parameter Name="InstrumentationKey" Value="" /> | |||||
</Parameters> | |||||
</Application> |
@ -1,5 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Application Name="fabric:/eShopOnServiceFabricWebMVC" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
</Parameters> | |||||
</Application> |
@ -1,5 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Application Name="fabric:/eShopOnServiceFabricWebMVC" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
</Parameters> | |||||
</Application> |
@ -1,25 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<PublishProfile xmlns="http://schemas.microsoft.com/2015/05/fabrictools"> | |||||
<!-- ClusterConnectionParameters allows you to specify the PowerShell parameters to use when connecting to the Service Fabric cluster. | |||||
Valid parameters are any that are accepted by the Connect-ServiceFabricCluster cmdlet. | |||||
For a remote cluster, you would need to specify the appropriate parameters for that specific cluster. | |||||
For example: <ClusterConnectionParameters ConnectionEndpoint="mycluster.westus.cloudapp.azure.com:19000" /> | |||||
Example showing parameters for a cluster that uses certificate security: | |||||
<ClusterConnectionParameters ConnectionEndpoint="mycluster.westus.cloudapp.azure.com:19000" | |||||
X509Credential="true" | |||||
ServerCertThumbprint="0123456789012345678901234567890123456789" | |||||
FindType="FindByThumbprint" | |||||
FindValue="9876543210987654321098765432109876543210" | |||||
StoreLocation="CurrentUser" | |||||
StoreName="My" /> | |||||
Example showing parameters for a cluster that uses Azure Active Directory (AAD) security: | |||||
<ClusterConnectionParameters ConnectionEndpoint="mycluster.westus.cloudapp.azure.com:19000" | |||||
AzureActiveDirectory="true" | |||||
ServerCertThumbprint="0123456789012345678901234567890123456789" /> | |||||
--> | |||||
<ClusterConnectionParameters ConnectionEndpoint="#{your_sf_dns}#:19000" /> | |||||
<ApplicationParameterFile Path="..\ApplicationParameters\Cloud.xml" /> | |||||
</PublishProfile> |
@ -1,11 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<PublishProfile xmlns="http://schemas.microsoft.com/2015/05/fabrictools"> | |||||
<!-- ClusterConnectionParameters allows you to specify the PowerShell parameters to use when connecting to the Service Fabric cluster. | |||||
Valid parameters are any that are accepted by the Connect-ServiceFabricCluster cmdlet. | |||||
For a local cluster, you would typically not use any parameters. | |||||
For example: <ClusterConnectionParameters /> | |||||
--> | |||||
<ClusterConnectionParameters /> | |||||
<ApplicationParameterFile Path="..\ApplicationParameters\Local.1Node.xml" /> | |||||
</PublishProfile> |
@ -1,11 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<PublishProfile xmlns="http://schemas.microsoft.com/2015/05/fabrictools"> | |||||
<!-- ClusterConnectionParameters allows you to specify the PowerShell parameters to use when connecting to the Service Fabric cluster. | |||||
Valid parameters are any that are accepted by the Connect-ServiceFabricCluster cmdlet. | |||||
For a local cluster, you would typically not use any parameters. | |||||
For example: <ClusterConnectionParameters /> | |||||
--> | |||||
<ClusterConnectionParameters /> | |||||
<ApplicationParameterFile Path="..\ApplicationParameters\Local.5Node.xml" /> | |||||
</PublishProfile> |
@ -1,258 +0,0 @@ | |||||
<# | |||||
.SYNOPSIS | |||||
Deploys a Service Fabric application type to a cluster. | |||||
.DESCRIPTION | |||||
This script deploys a Service Fabric application type to a cluster. It is invoked by Visual Studio when deploying a Service Fabric Application project. | |||||
.NOTES | |||||
WARNING: This script file is invoked by Visual Studio. Its parameters must not be altered but its logic can be customized as necessary. | |||||
.PARAMETER PublishProfileFile | |||||
Path to the file containing the publish profile. | |||||
.PARAMETER ApplicationPackagePath | |||||
Path to the folder of the packaged Service Fabric application. | |||||
.PARAMETER DeployOnly | |||||
Indicates that the Service Fabric application should not be created or upgraded after registering the application type. | |||||
.PARAMETER ApplicationParameter | |||||
Hashtable of the Service Fabric application parameters to be used for the application. | |||||
.PARAMETER UnregisterUnusedApplicationVersionsAfterUpgrade | |||||
Indicates whether to unregister any unused application versions that exist after an upgrade is finished. | |||||
.PARAMETER OverrideUpgradeBehavior | |||||
Indicates the behavior used to override the upgrade settings specified by the publish profile. | |||||
'None' indicates that the upgrade settings will not be overridden. | |||||
'ForceUpgrade' indicates that an upgrade will occur with default settings, regardless of what is specified in the publish profile. | |||||
'VetoUpgrade' indicates that an upgrade will not occur, regardless of what is specified in the publish profile. | |||||
.PARAMETER UseExistingClusterConnection | |||||
Indicates that the script should make use of an existing cluster connection that has already been established in the PowerShell session. The cluster connection parameters configured in the publish profile are ignored. | |||||
.PARAMETER OverwriteBehavior | |||||
Overwrite Behavior if an application exists in the cluster with the same name. Available Options are Never, Always, SameAppTypeAndVersion. This setting is not applicable when upgrading an application. | |||||
'Never' will not remove the existing application. This is the default behavior. | |||||
'Always' will remove the existing application even if its Application type and Version is different from the application being created. | |||||
'SameAppTypeAndVersion' will remove the existing application only if its Application type and Version is same as the application being created. | |||||
.PARAMETER SkipPackageValidation | |||||
Switch signaling whether the package should be validated or not before deployment. | |||||
.PARAMETER SecurityToken | |||||
A security token for authentication to cluster management endpoints. Used for silent authentication to clusters that are protected by Azure Active Directory. | |||||
.PARAMETER CopyPackageTimeoutSec | |||||
Timeout in seconds for copying application package to image store. | |||||
.EXAMPLE | |||||
. Scripts\Deploy-FabricApplication.ps1 -ApplicationPackagePath 'pkg\Debug' | |||||
Deploy the application using the default package location for a Debug build. | |||||
.EXAMPLE | |||||
. Scripts\Deploy-FabricApplication.ps1 -ApplicationPackagePath 'pkg\Debug' -DoNotCreateApplication | |||||
Deploy the application but do not create the application instance. | |||||
.EXAMPLE | |||||
. Scripts\Deploy-FabricApplication.ps1 -ApplicationPackagePath 'pkg\Debug' -ApplicationParameter @{CustomParameter1='MyValue'; CustomParameter2='MyValue'} | |||||
Deploy the application by providing values for parameters that are defined in the application manifest. | |||||
#> | |||||
Param | |||||
( | |||||
[String] | |||||
$PublishProfileFile, | |||||
[String] | |||||
$ApplicationPackagePath, | |||||
[Switch] | |||||
$DeployOnly, | |||||
[Hashtable] | |||||
$ApplicationParameter, | |||||
[Boolean] | |||||
$UnregisterUnusedApplicationVersionsAfterUpgrade, | |||||
[String] | |||||
[ValidateSet('None', 'ForceUpgrade', 'VetoUpgrade')] | |||||
$OverrideUpgradeBehavior = 'None', | |||||
[Switch] | |||||
$UseExistingClusterConnection, | |||||
[String] | |||||
[ValidateSet('Never','Always','SameAppTypeAndVersion')] | |||||
$OverwriteBehavior = 'Never', | |||||
[Switch] | |||||
$SkipPackageValidation, | |||||
[String] | |||||
$SecurityToken, | |||||
[int] | |||||
$CopyPackageTimeoutSec | |||||
) | |||||
function Read-XmlElementAsHashtable | |||||
{ | |||||
Param ( | |||||
[System.Xml.XmlElement] | |||||
$Element | |||||
) | |||||
$hashtable = @{} | |||||
if ($Element.Attributes) | |||||
{ | |||||
$Element.Attributes | | |||||
ForEach-Object { | |||||
$boolVal = $null | |||||
if ([bool]::TryParse($_.Value, [ref]$boolVal)) { | |||||
$hashtable[$_.Name] = $boolVal | |||||
} | |||||
else { | |||||
$hashtable[$_.Name] = $_.Value | |||||
} | |||||
} | |||||
} | |||||
return $hashtable | |||||
} | |||||
function Read-PublishProfile | |||||
{ | |||||
Param ( | |||||
[ValidateScript({Test-Path $_ -PathType Leaf})] | |||||
[String] | |||||
$PublishProfileFile | |||||
) | |||||
$publishProfileXml = [Xml] (Get-Content $PublishProfileFile) | |||||
$publishProfile = @{} | |||||
$publishProfile.ClusterConnectionParameters = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("ClusterConnectionParameters") | |||||
$publishProfile.UpgradeDeployment = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("UpgradeDeployment") | |||||
$publishProfile.CopyPackageParameters = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("CopyPackageParameters") | |||||
if ($publishProfileXml.PublishProfile.Item("UpgradeDeployment")) | |||||
{ | |||||
$publishProfile.UpgradeDeployment.Parameters = Read-XmlElementAsHashtable $publishProfileXml.PublishProfile.Item("UpgradeDeployment").Item("Parameters") | |||||
if ($publishProfile.UpgradeDeployment["Mode"]) | |||||
{ | |||||
$publishProfile.UpgradeDeployment.Parameters[$publishProfile.UpgradeDeployment["Mode"]] = $true | |||||
} | |||||
} | |||||
$publishProfileFolder = (Split-Path $PublishProfileFile) | |||||
$publishProfile.ApplicationParameterFile = [System.IO.Path]::Combine($PublishProfileFolder, $publishProfileXml.PublishProfile.ApplicationParameterFile.Path) | |||||
return $publishProfile | |||||
} | |||||
$LocalFolder = (Split-Path $MyInvocation.MyCommand.Path) | |||||
if (!$PublishProfileFile) | |||||
{ | |||||
$PublishProfileFile = "$LocalFolder\..\PublishProfiles\Local.xml" | |||||
} | |||||
if (!$ApplicationPackagePath) | |||||
{ | |||||
$ApplicationPackagePath = "$LocalFolder\..\pkg\Release" | |||||
} | |||||
$ApplicationPackagePath = Resolve-Path $ApplicationPackagePath | |||||
$publishProfile = Read-PublishProfile $PublishProfileFile | |||||
if (-not $UseExistingClusterConnection) | |||||
{ | |||||
$ClusterConnectionParameters = $publishProfile.ClusterConnectionParameters | |||||
if ($SecurityToken) | |||||
{ | |||||
$ClusterConnectionParameters["SecurityToken"] = $SecurityToken | |||||
} | |||||
try | |||||
{ | |||||
[void](Connect-ServiceFabricCluster @ClusterConnectionParameters) | |||||
} | |||||
catch [System.Fabric.FabricObjectClosedException] | |||||
{ | |||||
Write-Warning "Service Fabric cluster may not be connected." | |||||
throw | |||||
} | |||||
} | |||||
$RegKey = "HKLM:\SOFTWARE\Microsoft\Service Fabric SDK" | |||||
$ModuleFolderPath = (Get-ItemProperty -Path $RegKey -Name FabricSDKPSModulePath).FabricSDKPSModulePath | |||||
Import-Module "$ModuleFolderPath\ServiceFabricSDK.psm1" | |||||
$IsUpgrade = ($publishProfile.UpgradeDeployment -and $publishProfile.UpgradeDeployment.Enabled -and $OverrideUpgradeBehavior -ne 'VetoUpgrade') -or $OverrideUpgradeBehavior -eq 'ForceUpgrade' | |||||
$PublishParameters = @{ | |||||
'ApplicationPackagePath' = $ApplicationPackagePath | |||||
'ApplicationParameterFilePath' = $publishProfile.ApplicationParameterFile | |||||
'ApplicationParameter' = $ApplicationParameter | |||||
'ErrorAction' = 'Stop' | |||||
} | |||||
if ($publishProfile.CopyPackageParameters.CopyPackageTimeoutSec) | |||||
{ | |||||
$PublishParameters['CopyPackageTimeoutSec'] = $publishProfile.CopyPackageParameters.CopyPackageTimeoutSec | |||||
} | |||||
if ($publishProfile.CopyPackageParameters.CompressPackage) | |||||
{ | |||||
$PublishParameters['CompressPackage'] = $publishProfile.CopyPackageParameters.CompressPackage | |||||
} | |||||
# CopyPackageTimeoutSec parameter overrides the value from the publish profile | |||||
if ($CopyPackageTimeoutSec) | |||||
{ | |||||
$PublishParameters['CopyPackageTimeoutSec'] = $CopyPackageTimeoutSec | |||||
} | |||||
if ($IsUpgrade) | |||||
{ | |||||
$Action = "RegisterAndUpgrade" | |||||
if ($DeployOnly) | |||||
{ | |||||
$Action = "Register" | |||||
} | |||||
$UpgradeParameters = $publishProfile.UpgradeDeployment.Parameters | |||||
if ($OverrideUpgradeBehavior -eq 'ForceUpgrade') | |||||
{ | |||||
# Warning: Do not alter these upgrade parameters. It will create an inconsistency with Visual Studio's behavior. | |||||
$UpgradeParameters = @{ UnmonitoredAuto = $true; Force = $true } | |||||
} | |||||
$PublishParameters['Action'] = $Action | |||||
$PublishParameters['UpgradeParameters'] = $UpgradeParameters | |||||
$PublishParameters['UnregisterUnusedVersions'] = $UnregisterUnusedApplicationVersionsAfterUpgrade | |||||
Publish-UpgradedServiceFabricApplication @PublishParameters | |||||
} | |||||
else | |||||
{ | |||||
$Action = "RegisterAndCreate" | |||||
if ($DeployOnly) | |||||
{ | |||||
$Action = "Register" | |||||
} | |||||
$PublishParameters['Action'] = $Action | |||||
$PublishParameters['OverwriteBehavior'] = $OverwriteBehavior | |||||
$PublishParameters['SkipPackageValidation'] = $SkipPackageValidation | |||||
Publish-NewServiceFabricApplication @PublishParameters | |||||
} |
@ -1,46 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" InitialTargets=";ValidateMSBuildFiles"> | |||||
<Import Project="..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props" Condition="Exists('..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props')" /> | |||||
<PropertyGroup Label="Globals"> | |||||
<ProjectGuid>0cf895ff-3616-4d1f-8d2e-5d856cdf3612</ProjectGuid> | |||||
<ProjectVersion>1.7</ProjectVersion> | |||||
<MinToolsVersion>1.5</MinToolsVersion> | |||||
<SupportedMSBuildNuGetPackageVersion>1.6</SupportedMSBuildNuGetPackageVersion> | |||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> | |||||
</PropertyGroup> | |||||
<ItemGroup Label="ProjectConfigurations"> | |||||
<ProjectConfiguration Include="Debug|x64"> | |||||
<Configuration>Debug</Configuration> | |||||
<Platform>x64</Platform> | |||||
</ProjectConfiguration> | |||||
<ProjectConfiguration Include="Release|x64"> | |||||
<Configuration>Release</Configuration> | |||||
<Platform>x64</Platform> | |||||
</ProjectConfiguration> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<None Include="ApplicationPackageRoot\ApplicationManifest.xml" /> | |||||
<None Include="ApplicationParameters\Cloud.xml" /> | |||||
<None Include="ApplicationParameters\Local.1Node.xml" /> | |||||
<None Include="ApplicationParameters\Local.5Node.xml" /> | |||||
<None Include="PublishProfiles\Cloud.xml" /> | |||||
<None Include="PublishProfiles\Local.1Node.xml" /> | |||||
<None Include="PublishProfiles\Local.5Node.xml" /> | |||||
<None Include="Scripts\Deploy-FabricApplication.ps1" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<Content Include="ApplicationPackageRoot\WebMVCPkg\Config\Settings.xml" /> | |||||
<Content Include="ApplicationPackageRoot\WebMVCPkg\ServiceManifest.xml" /> | |||||
<Content Include="packages.config" /> | |||||
</ItemGroup> | |||||
<Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" /> | |||||
<PropertyGroup> | |||||
<ApplicationProjectTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Service Fabric Tools\Microsoft.VisualStudio.Azure.Fabric.ApplicationProject.targets</ApplicationProjectTargetsPath> | |||||
</PropertyGroup> | |||||
<Import Project="$(ApplicationProjectTargetsPath)" Condition="Exists('$(ApplicationProjectTargetsPath)')" /> | |||||
<Import Project="..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets" Condition="Exists('..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets')" /> | |||||
<Target Name="ValidateMSBuildFiles"> | |||||
<Error Condition="!Exists('..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props')" Text="Unable to find the '..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.props' file. Please restore the 'Microsoft.VisualStudio.Azure.Fabric.MSBuild' Nuget package" /> | |||||
<Error Condition="!Exists('..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets')" Text="Unable to find the '..\..\..\..\packages\Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.1\build\Microsoft.VisualStudio.Azure.Fabric.Application.targets' file. Please restore the 'Microsoft.VisualStudio.Azure.Fabric.MSBuild' Nuget package" /> | |||||
</Target> | |||||
</Project> |
@ -1,4 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<packages> | |||||
<package id="Microsoft.VisualStudio.Azure.Fabric.MSBuild" version="1.6.1" targetFramework="net461" /> | |||||
</packages> |
@ -1,48 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<ApplicationManifest ApplicationTypeName="eShopOnServiceFabricWebSPAType" | |||||
ApplicationTypeVersion="1.0.0" | |||||
xmlns="http://schemas.microsoft.com/2011/01/fabric" | |||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
<Parameter Name="WebSPA_InstanceCount" DefaultValue="-1" /> | |||||
<Parameter Name="CatalogUrl" DefaultValue="" /> | |||||
<Parameter Name="OrderingUrl" DefaultValue="" /> | |||||
<Parameter Name="BasketUrl" DefaultValue="" /> | |||||
<Parameter Name="MarketingUrl" DefaultValue="" /> | |||||
<Parameter Name="IdentityUrl" DefaultValue="" /> | |||||
<Parameter Name="InstrumentationKey" DefaultValue="" /> | |||||
</Parameters> | |||||
<!-- Import the ServiceManifest from the ServicePackage. The ServiceManifestName and ServiceManifestVersion | |||||
should match the Name and Version attributes of the ServiceManifest element defined in the | |||||
ServiceManifest.xml file. --> | |||||
<ServiceManifestImport> | |||||
<ServiceManifestRef ServiceManifestName="WebSPAPkg" ServiceManifestVersion="1.0.0" /> | |||||
<!-- Override external urls depending on environment --> | |||||
<EnvironmentOverrides CodePackageRef="Code"> | |||||
<EnvironmentVariable Name="CatalogUrl" Value="[CatalogUrl]"/> | |||||
<EnvironmentVariable Name="OrderingUrl" Value="[OrderingUrl]"/> | |||||
<EnvironmentVariable Name="BasketUrl" Value="[BasketUrl]"/> | |||||
<EnvironmentVariable Name="MarketingUrl" Value="[MarketingUrl]"/> | |||||
<EnvironmentVariable Name="IdentityUrl" Value="[IdentityUrl]"/> | |||||
<EnvironmentVariable Name="ApplicationInsights__InstrumentationKey" Value="[InstrumentationKey]"/> | |||||
</EnvironmentOverrides> | |||||
<Policies> | |||||
<ContainerHostPolicies CodePackageRef="Code"> | |||||
<PortBinding ContainerPort="80" EndpointRef="WebSPATypeEndpoint"/> | |||||
</ContainerHostPolicies> | |||||
</Policies> | |||||
</ServiceManifestImport> | |||||
<DefaultServices> | |||||
<!-- The section below creates instances of service types, when an instance of this | |||||
application type is created. You can also create one or more instances of service type using the | |||||
ServiceFabric PowerShell module. | |||||
The attribute ServiceTypeName below must match the name defined in the imported ServiceManifest.xml file. --> | |||||
<Service Name="WebSPA" ServiceDnsName="webspa.eshoponservicefabric" ServicePackageActivationMode="ExclusiveProcess"> | |||||
<StatelessService ServiceTypeName="WebSPAType" InstanceCount="[WebSPA_InstanceCount]"> | |||||
<SingletonPartition /> | |||||
</StatelessService> | |||||
</Service> | |||||
</DefaultServices> | |||||
</ApplicationManifest> |
@ -1,9 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8" ?> | |||||
<Settings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2011/01/fabric"> | |||||
<!-- Add your custom configuration sections and parameters here --> | |||||
<!-- | |||||
<Section Name="MyConfigSection"> | |||||
<Parameter Name="MyParameter" Value="Value1" /> | |||||
</Section> | |||||
--> | |||||
</Settings> |
@ -1,53 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<ServiceManifest Name="WebSPAPkg" | |||||
Version="1.0.0" | |||||
xmlns="http://schemas.microsoft.com/2011/01/fabric" | |||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<ServiceTypes> | |||||
<!-- This is the name of your ServiceType. | |||||
The UseImplicitHost attribute indicates this is a guest service. --> | |||||
<StatelessServiceType ServiceTypeName="WebSPAType" UseImplicitHost="true" /> | |||||
</ServiceTypes> | |||||
<!-- Code package is your service executable. --> | |||||
<CodePackage Name="Code" Version="1.0.0"> | |||||
<EntryPoint> | |||||
<!-- Follow this link for more information about deploying Windows containers to Service Fabric: https://aka.ms/sfguestcontainers --> | |||||
<ContainerHost> | |||||
<ImageName>eshop/webspa:#{tag}#</ImageName> | |||||
</ContainerHost> | |||||
</EntryPoint> | |||||
<!-- Pass environment variables to your container: --> | |||||
<EnvironmentVariables> | |||||
<EnvironmentVariable Name="ASPNETCORE_ENVIRONMENT" Value="Development"/> | |||||
<EnvironmentVariable Name="ASPNETCORE_URLS" Value="http://0.0.0.0:80"/> | |||||
<EnvironmentVariable Name="CatalogUrl" Value=""/> | |||||
<EnvironmentVariable Name="OrderingUrl" Value=""/> | |||||
<EnvironmentVariable Name="BasketUrl" Value=""/> | |||||
<EnvironmentVariable Name="MarketingUrl" Value=""/> | |||||
<EnvironmentVariable Name="IdentityUrl" Value="http://#{your_sf_dns}#:5105"/> | |||||
<EnvironmentVariable Name="CatalogUrlHC" Value="http://catalogapi.eshoponservicefabric:5101/hc"/> | |||||
<EnvironmentVariable Name="OrderingUrlHC" Value="http://orderingapi.eshoponservicefabric:5102/hc"/> | |||||
<EnvironmentVariable Name="IdentityUrlHC" Value="http://identityapi.eshoponservicefabric:5105/hc"/> | |||||
<EnvironmentVariable Name="BasketUrlHC" Value="http://basketapi.eshoponservicefabric:5103/hc"/> | |||||
<EnvironmentVariable Name="MarketingUrlHC" Value="http://marketingapi.eshoponservicefabric:5110/hc"/> | |||||
<EnvironmentVariable Name="UseCustomizationData" Value="True"/> | |||||
<EnvironmentVariable Name="ApplicationInsights__InstrumentationKey" Value=""/> | |||||
<EnvironmentVariable Name="OrchestratorType" Value="SF"/> | |||||
</EnvironmentVariables> | |||||
</CodePackage> | |||||
<!-- Config package is the contents of the Config directoy under PackageRoot that contains an | |||||
independently-updateable and versioned set of custom configuration settings for your service. --> | |||||
<ConfigPackage Name="Config" Version="1.0.0" /> | |||||
<Resources> | |||||
<Endpoints> | |||||
<!-- This endpoint is used by the communication listener to obtain the port on which to | |||||
listen. Please note that if your service is partitioned, this port is shared with | |||||
replicas of different partitions that are placed in your code. --> | |||||
<Endpoint Name="WebSPATypeEndpoint" Port="5104" UriScheme="http"/> | |||||
</Endpoints> | |||||
</Resources> | |||||
</ServiceManifest> |
@ -1,12 +0,0 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<Application Name="fabric:/eShopOnServiceFabricWebSPA" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |||||
<Parameters> | |||||
<Parameter Name="WebSPA_InstanceCount" Value="1" /> | |||||
<Parameter Name="CatalogUrl" Value="http://#{your_sf_dns}#:5101" /> | |||||
<Parameter Name="OrderingUrl" Value="http://#{your_sf_dns}#:5102" /> | |||||
<Parameter Name="BasketUrl" Value="http://#{your_sf_dns}#:5103" /> | |||||
<Parameter Name="MarketingUrl" Value="http://#{your_sf_dns}#:5110" /> | |||||
<Parameter Name="IdentityUrl" Value="http://#{your_sf_dns}#:5105" /> | |||||
<Parameter Name="InstrumentationKey" Value="" /> | |||||
</Parameters> | |||||
</Application> |