Skip to content

Commit

Permalink
VP-3679 - Deploy to Azure from GitHub or Custom Template (VirtoCommer…
Browse files Browse the repository at this point in the history
…ce#1940)

Add Deploy to Azure from GitHub
Add Deploy to Azure from Custom Template from azuredeploy.json
Add Deploy to Azure Documentation
  • Loading branch information
OlegoO authored Jul 21, 2020
1 parent 6da34d8 commit 23dc218
Show file tree
Hide file tree
Showing 19 changed files with 489 additions and 7 deletions.
2 changes: 2 additions & 0 deletions .deployment
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[config]
command = deploy.cmd
25 changes: 18 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Platform 3 Overview

## Overview
[![Deploy to Azure](https://azuredeploy.net/deploybutton.png)](https://azuredeploy.net/)

Virto Commerce is a highly scalable eCommerce product for fast-growing and large companies. It provides powerful enterprise-class features right out-of-the-box and gives you the flexibility to create your own unique eCommerce solution while utilizing agile principles.

Expand Down Expand Up @@ -30,25 +30,36 @@ We decided to use the following stack of technologies:

<img src="docs/media/architecture-circle.png" title="Virto Commerce 3 Architecture" width="400">

## Introduction to Virto Commerce

These Virto Commerce docs help you learn and use the Virto Commerce platform, from your local solution to optimizing complex enterprise solutions.

* [Virto Commerce Documentation](https://virtocommerce.com/docs/latest/)
* [View on GitHub](docs/index.md)

## Comparison with Platform 2.x

In the new version, we change primary technology stack to .NET Core for the platform application and all key modules. Eliminate known technical and architecture design issues of 2.x version (Caching, Overloaded core module, Asynchronous code, Platform Complexity, Extensibility, Performance, Authentication and Authorization)
Improve the extensibility and unification of the application. Unified architecture and good architecture practices usage reduce the training time for developers who just start to work with Virto Commerce.

Virto Commerce Platform 3 helps you increase development speed and significantly reduce time to market.

## Introduction to Virto Commerce

These Virto Commerce docs help you learn and use the Virto Commerce platform, from your local solution to optimizing complex enterprise solutions.
## References

* [What’s new](docs/release-information/whats-new.md)
* Setup
* [Deploy Platform 3 from precompiled binaries on Windows](docs/getting-started/deploy-from-precompiled-binaries-windows.md)
* [Deploy Platform 3 from precompiled binaries on Linux](docs/getting-started/deploy-from-precompiled-binaries-linux.md)
* Deploy
* [Deploy on Windows](docs/getting-started/deploy-from-precompiled-binaries-windows.md)
* [Deploy on Linux](docs/getting-started/deploy-from-precompiled-binaries-linux.md)
* [Deploy to Azure](docs/getting-started/deploy-from-precompiled-binaries-azure.md)
* [Deploy on MacOS](docs/getting-started/deploy-from-precompiled-binaries-MacOS.md)
* [Connect Storefront to Platform](docs/getting-started/connect-storefront-to-platform-v3.md)
* [Deploy Platform 3 from source code](docs/developer-guide/deploy-from-source-code.md)
* [Getting Started](docs/user-guide/getting-started.md)
* [Update VC Platform Module from version 2.x to 3](docs/release-information/update-to-version-3/update-module-from-platform-2.0-to-version-3.md)
* Virto Commerce Documentation: https://www.virtocommerce.com/docs/latest/
* Home: https://virtocommerce.com
* Community: https://www.virtocommerce.org
* [Download Latest Release](releases/latest)

## License

Expand Down
252 changes: 252 additions & 0 deletions azuredeploy.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,252 @@
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"siteName": {
"type": "string"
},
"appServicePlanSkuName": {
"type": "string",
"defaultValue": "S1",
"allowedValues": [
"F1",
"D1",
"B1",
"B2",
"B3",
"S1",
"S2",
"S3",
"P1",
"P2",
"P3",
"P4"
],
"metadata": {
"description": "Describes plan's pricing tier and capacity. Check details at https://azure.microsoft.com/pricing/details/app-service/"
}
},
"siteLocation": {
"type": "string",
"defaultValue": "West US",
"metadata": {
"description": "Location for all resources."
}
},
"sqlServerName": {
"type": "string"
},
"sqlAdministratorLogin": {
"type": "string",
"metadata": {
"description": "The administrator username of the SQL logical server."
}
},
"sqlAdministratorPassword": {
"type": "securestring",
"metadata": {
"description": "The administrator password of the SQL logical server."
}
},
"installModuleBundle": {
"type": "string",
"allowedValues": [
"Commerce",
"None"
],
"defaultValue": "Commerce"
},
"repoUrl": {
"type": "string"
},
"branch": {
"type": "string"
},
"hostingPlanName": {
"type": "string"
}
},
"variables": {
"storageName": "[replace(parameters('siteName'), '-', '')]",
"storageType": "Standard_LRS",
"moduleBundles": {
"Commerce": {
"configValue": "commerce"
},
"None": {
"configValue": ""
}
}
},
"resources": [
{
"apiVersion": "2019-06-01",
"type": "Microsoft.Storage/storageAccounts",
"name": "[variables('storageName')]",
"location": "[parameters('siteLocation')]",
"sku": {
"name": "[variables('storageType')]",
"tier": "Standard"
},
"kind": "StorageV2"
},
{
"apiVersion": "2014-04-01",
"type": "Microsoft.Sql/servers",
"name": "[parameters('sqlServerName')]",
"location": "[parameters('siteLocation')]",
"properties": {
"version": "12.0",
"administratorLogin": "[parameters('sqlAdministratorLogin')]",
"administratorLoginPassword": "[parameters('sqlAdministratorPassword')]"
},
"resources": [
{
"apiVersion": "2014-04-01",
"type": "databases",
"name": "[parameters('siteName')]",
"location": "[parameters('siteLocation')]",
"dependsOn": [
"[concat('Microsoft.Sql/servers/', parameters('sqlServerName'))]"
],
"properties": {
"edition": "Basic",
"collation": "SQL_Latin1_General_CP1_CI_AS",
"maxSizeBytes": "1073741824",
"requestedServiceObjectiveId": "DD6D99BB-F193-4EC1-86F2-43D3BCCBC49C"
}
},
{
"type": "firewallrules",
"name": "AllowAllWindowsAzureIps",
"location": "[parameters('siteLocation')]",
"apiVersion": "2014-04-01",
"dependsOn": [
"[concat('Microsoft.Sql/servers/', parameters('sqlServerName'))]"
],
"properties": {
"endIpAddress": "0.0.0.0",
"startIpAddress": "0.0.0.0"
}
}
]
},
{
"apiVersion": "2018-02-01",
"type": "Microsoft.Web/serverfarms",
"name": "[parameters('hostingPlanName')]",
"location": "[parameters('siteLocation')]",
"kind": "app",
"sku": {
"name": "[parameters('appServicePlanSkuName')]",
"capacity": 1
},
"properties": {
"name": "[parameters('hostingPlanName')]",
"numberOfWorkers": "1",
"reserved": false
}
},
{
"apiVersion": "2018-11-01",
"type": "Microsoft.Web/sites",
"name": "[parameters('siteName')]",
"location": "[parameters('siteLocation')]",
"kind": "app",
"dependsOn": [
"[concat('Microsoft.Web/serverFarms/', parameters('hostingPlanName'))]"
],
"tags": {
"[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]": "empty"
},
"properties": {
"name": "[parameters('siteName')]",
"serverFarmId": "[concat( resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]",
"siteConfig": {
"appSettings": [
{
"name": "ExternalModules:AutoInstallModuleBundles",
"value": "[variables('moduleBundles')[parameters('installModuleBundle')].configValue]"
},
{
"name": "Assets:Provider",
"value": "AzureBlobStorage"
},
{
"name": "Assets:AzureBlobStorage:ConnectionString",
"value": "[concat('DefaultEndpointsProtocol=https;AccountName=', variables('storageName'), ';AccountKey=', listKeys(resourceId('Microsoft.Storage/storageAccounts/', variables('storageName')), '2015-06-15').key1, ';EndpointSuffix=core.windows.net')]"
},
{
"name": "Content:Provider",
"value": "AzureBlobStorage"
},
{
"name": "Content:AzureBlobStorage:ConnectionString",
"value": "[concat('DefaultEndpointsProtocol=https;AccountName=', variables('storageName'), ';AccountKey=', listKeys(resourceId('Microsoft.Storage/storageAccounts/', variables('storageName')), '2015-06-15').key1, ';EndpointSuffix=core.windows.net')]"
},
{
"name": "Content:AzureBlobStorage:RootPath",
"value": "cms"
},
{
"name": "Search:Provider",
"value": "Lucene"
},
{
"name": "Search:Lucene:Path",
"value": "App_Data/Lucene"
},
{
"name": "VirtoCommerce:DiscoveryPath",
"value": "../modules"
},
{
"name": "WEBSITE_NODE_DEFAULT_VERSION",
"value": "12.18.0"
}
],
"connectionStrings": [
{
"name": "VirtoCommerce",
"connectionString": "[concat('Data Source=tcp:', reference(concat('Microsoft.Sql/servers/', parameters('sqlServerName'))).fullyQualifiedDomainName, ',1433;Initial Catalog=', parameters('siteName'), ';User Id=', parameters('sqlAdministratorLogin'), '@', parameters('sqlServerName'), ';Password=', parameters('sqlAdministratorPassword'), ';MultipleActiveResultSets=False;Connection Timeout=30;Trusted_Connection=False;Encrypt=True;')]",
"type": "SQLAzure"
}
],
"metadata": [
{
"name": "CURRENT_STACK",
"value": "dotnetcore"
}
],
"virtualApplications": [
{
"virtualPath": "/",
"physicalPath": "site\\wwwroot\\platform",
"virtualDirectories": [
{
"virtualPath": "/modules",
"physicalPath": "site\\wwwroot\\modules"
}
]
}
]
}
},
"resources": [
{
"apiVersion": "2016-08-01",
"name": "web",
"type": "sourcecontrols",
"dependsOn": [
"[resourceId('Microsoft.Web/sites/', parameters('siteName'))]"
],
"properties": {
"RepoUrl": "[parameters('repoUrl')]",
"branch": "[parameters('branch')]",
"IsManualIntegration": true
}
}
]
}
]
}
Loading

0 comments on commit 23dc218

Please sign in to comment.