UNPKG

generator-team

Version:

Generates an app with CI/CD in Team Foundation Server or Team Services

695 lines 29 kB
{ "name": "{{ReleaseDefName}}", "variables": { "system.debug": { "value": "false" } }, "environments": [ { "name": "Dev", "rank": 1, "variables": { "ResourceGroupName": { "value": "{{WebAppName}}Dev" }, "webSiteName": { "value": "{{WebAppName}}Dev{{uuid}}" }, "hostingPlanName": { "value": "{{WebAppName}}Dev" }, "aiLocation": { "value": "South Central US" }, "skuName": { "value": "S1" } }, "preDeployApprovals": { "approvals": [ { "rank": 1, "isAutomated": true, "isNotificationOn": false } ] }, "deployStep": {}, "postDeployApprovals": { "approvals": [ { "rank": 1, "isAutomated": true, "isNotificationOn": false } ] }, "deployPhases": [ { "deploymentInput": { "skipArtifactsDownload": false, "timeoutInMinutes": 0, "queueId": "{{QueueId}}", "demands": [], "enableAccessToken": false }, "rank": 1, "phaseType": 1, "name": "Run on agent", "workflowTasks": [ { "taskId": "94a74903-f93f-4075-884f-dc11f34058b4", "version": "2.*", "refName": "arm", "name": "Azure Deployment:Create Or Update Resource Group action on {{WebAppName}}", "enabled": true, "alwaysRun": false, "continueOnError": false, "timeoutInMinutes": 0, "definitionType": "task", "inputs": { "ConnectedServiceNameSelector": "ConnectedServiceName", "ConnectedServiceName": "{{ConnectedServiceID}}", "ConnectedServiceNameClassic": "", "action": "Create Or Update Resource Group", "actionClassic": "Select Resource Group", "resourceGroupName": "$(ResourceGroupName)", "cloudService": "", "location": "Central US", "csmFile": "$(System.DefaultWorkingDirectory)/{{BuildName}}/drop/{{TemplateFolder}}/WebSite.json", "csmParametersFile": "$(System.DefaultWorkingDirectory)/{{BuildName}}/drop/{{TemplateFolder}}/WebSite.parameters.json", "overrideParameters": "-hostingPlanName $(hostingPlanName) -skuName $(skuName) -webSiteName $(webSiteName) -aiLocation \"$(aiLocation)\"", "enableDeploymentPrerequisitesForCreate": "false", "enableDeploymentPrerequisitesForSelect": "false", "outputVariable": "" } }, { "taskId": "f045e430-8704-11e6-968f-e717e6411619", "version": "0.*", "name": "Restart Azure App Service Stage Slot", "refName": "restart", "enabled": true, "alwaysRun": false, "continueOnError": false, "timeoutInMinutes": 0, "definitionType": "task", "overrideInputs": {}, "condition": "succeeded()", "inputs": { "ConnectedServiceName": "{{ConnectedServiceID}}", "Action": "Restart Azure App Service", "WebAppName": "$(webSiteName)", "SpecifySlot": "true", "ResourceGroupName": "$(ResourceGroupName)", "SourceSlot": "", "SwapWithProduction": "true", "TargetSlot": "", "PreserveVnet": "false", "Slot": "stage", "ExtensionsList": "", "OutputVariable": "" } }, { "taskId": "497d490f-eea7-4f2b-ab94-48d9c1acdcb1", "version": "2.*", "refName": "deploy", "name": "Deploy AzureRM Web App: {{WebAppName}}Dev", "enabled": true, "alwaysRun": false, "continueOnError": false, "timeoutInMinutes": 0, "definitionType": "task", "overrideInputs": {}, "condition": "succeeded()", "inputs": { "ConnectedServiceName": "{{ConnectedServiceID}}", "WebAppName": "$(webSiteName)", "WebAppKind": "app", "DeployToSlotFlag": "true", "ResourceGroupName": "$(ResourceGroupName)", "SlotName": "stage", "ImageSource": "Registry", "DockerNamespace": "", "DockerRepository": "", "DockerImageTag": "", "VirtualApplication": "", "Package": "**/*.zip", "BuiltinLinuxPackage": "$(System.DefaultWorkingDirectory)/**/*.zip", "RuntimeStack": "node|4.4", "StartupCommand": "", "WebAppUri": "", "ScriptType": "", "InlineScript": ":: You can provide your deployment commands here. One command per line.", "ScriptPath": "", "GenerateWebConfig": "false", "WebConfigParameters": "", "AppSettings": "", "TakeAppOfflineFlag": "false", "UseWebDeploy": "true", "SetParametersFile": "", "RemoveAdditionalFilesFlag": "true", "ExcludeFilesFromAppDataFlag": "false", "AdditionalArguments": "", "RenameFilesFlag": "false", "XmlTransformation": "false", "XmlVariableSubstitution": "false", "JSONFiles": "" } }, { "taskId": "f045e430-8704-11e6-968f-e717e6411619", "version": "0.*", "name": "Swap Slots", "refName": "swap", "enabled": true, "alwaysRun": false, "continueOnError": false, "timeoutInMinutes": 0, "definitionType": "task", "overrideInputs": {}, "condition": "succeeded()", "inputs": { "ConnectedServiceName": "{{ConnectedServiceID}}", "Action": "Swap Slots", "WebAppName": "$(webSiteName)", "SpecifySlot": "false", "ResourceGroupName": "$(ResourceGroupName)", "SourceSlot": "stage", "SwapWithProduction": "true", "TargetSlot": "", "PreserveVnet": "false", "Slot": "", "ExtensionsList": "", "OutputVariable": "" } } ] } ], "environmentOptions": { "emailNotificationType": "OnlyOnFailure", "emailRecipients": "release.environment.owner;release.creator", "skipArtifactsDownload": false, "timeoutInMinutes": 0, "enableAccessToken": false }, "demands": [], "conditions": [ { "name": "ReleaseStarted", "conditionType": 1, "value": "" } ], "executionPolicy": { "concurrencyCount": 0, "queueDepthCount": 0 }, "schedules": [], "retentionPolicy": { "daysToKeep": 30, "releasesToKeep": 3, "retainBuild": true } }, { "name": "QA", "rank": 2, "variables": { "ResourceGroupName": { "value": "{{WebAppName}}QA" }, "webSiteName": { "value": "{{WebAppName}}QA{{uuid}}" }, "hostingPlanName": { "value": "{{WebAppName}}QA" }, "aiLocation": { "value": "South Central US" }, "skuName": { "value": "S1" } }, "preDeployApprovals": { "approvals": [ { "rank": 1, "isAutomated": false, "isNotificationOn": false, "approver": { "id": "{{ApproverId}}", "displayName": "{{ApproverDisplayName}}", "uniqueName": "{{ApproverUniqueName}}" } } ], "approvalOptions": { "requiredApproverCount": 0, "releaseCreatorCanBeApprover": true } }, "deployStep": {}, "postDeployApprovals": { "approvals": [ { "rank": 1, "isAutomated": true, "isNotificationOn": false } ] }, "deployPhases": [ { "deploymentInput": { "skipArtifactsDownload": false, "timeoutInMinutes": 0, "queueId": "{{QueueId}}", "demands": [], "enableAccessToken": false }, "rank": 1, "phaseType": 1, "name": "Run on agent", "workflowTasks": [ { "taskId": "94a74903-f93f-4075-884f-dc11f34058b4", "version": "2.*", "name": "Azure Deployment:Create Or Update Resource Group action on {{WebAppName}}", "enabled": true, "refName": "arm", "alwaysRun": false, "continueOnError": false, "timeoutInMinutes": 0, "definitionType": "task", "inputs": { "ConnectedServiceNameSelector": "ConnectedServiceName", "ConnectedServiceName": "{{ConnectedServiceID}}", "ConnectedServiceNameClassic": "", "action": "Create Or Update Resource Group", "actionClassic": "Select Resource Group", "resourceGroupName": "$(ResourceGroupName)", "cloudService": "", "location": "Central US", "csmFile": "$(System.DefaultWorkingDirectory)/{{BuildName}}/drop/{{TemplateFolder}}/WebSite.json", "csmParametersFile": "$(System.DefaultWorkingDirectory)/{{BuildName}}/drop/{{TemplateFolder}}/WebSite.parameters.json", "overrideParameters": "-hostingPlanName $(hostingPlanName) -skuName $(skuName) -webSiteName $(webSiteName) -aiLocation \"$(aiLocation)\"", "enableDeploymentPrerequisitesForCreate": "false", "enableDeploymentPrerequisitesForSelect": "false", "outputVariable": "" } }, { "taskId": "f045e430-8704-11e6-968f-e717e6411619", "version": "0.*", "name": "Restart Azure App Service Stage Slot", "refName": "restart", "enabled": true, "alwaysRun": false, "continueOnError": false, "timeoutInMinutes": 0, "definitionType": "task", "overrideInputs": {}, "condition": "succeeded()", "inputs": { "ConnectedServiceName": "{{ConnectedServiceID}}", "Action": "Restart Azure App Service", "WebAppName": "$(webSiteName)", "SpecifySlot": "true", "ResourceGroupName": "$(ResourceGroupName)", "SourceSlot": "", "SwapWithProduction": "true", "TargetSlot": "", "PreserveVnet": "false", "Slot": "stage", "ExtensionsList": "", "OutputVariable": "" } }, { "taskId": "497d490f-eea7-4f2b-ab94-48d9c1acdcb1", "version": "2.*", "name": "Deploy AzureRM Web App: {{WebAppName}}QA", "enabled": true, "refName": "deploy", "alwaysRun": false, "continueOnError": false, "timeoutInMinutes": 0, "definitionType": "task", "overrideInputs": {}, "condition": "succeeded()", "inputs": { "ConnectedServiceName": "{{ConnectedServiceID}}", "WebAppName": "$(webSiteName)", "WebAppKind": "app", "DeployToSlotFlag": "true", "ResourceGroupName": "$(ResourceGroupName)", "SlotName": "stage", "ImageSource": "Registry", "DockerNamespace": "", "DockerRepository": "", "DockerImageTag": "", "VirtualApplication": "", "Package": "**/*.zip", "BuiltinLinuxPackage": "$(System.DefaultWorkingDirectory)/**/*.zip", "RuntimeStack": "node|4.4", "StartupCommand": "", "WebAppUri": "webSiteURL", "ScriptType": "", "InlineScript": ":: You can provide your deployment commands here. One command per line.", "ScriptPath": "", "GenerateWebConfig": "false", "WebConfigParameters": "", "AppSettings": "", "TakeAppOfflineFlag": "false", "UseWebDeploy": "true", "SetParametersFile": "", "RemoveAdditionalFilesFlag": "true", "ExcludeFilesFromAppDataFlag": "false", "AdditionalArguments": "", "RenameFilesFlag": "false", "XmlTransformation": "false", "XmlVariableSubstitution": "false", "JSONFiles": "" } }, { "taskId": "f045e430-8704-11e6-968f-e717e6411619", "version": "0.*", "name": "Swap Slots", "refName": "swap", "enabled": true, "alwaysRun": false, "continueOnError": false, "timeoutInMinutes": 0, "definitionType": "task", "overrideInputs": {}, "condition": "succeeded()", "inputs": { "ConnectedServiceName": "{{ConnectedServiceID}}", "Action": "Swap Slots", "WebAppName": "$(webSiteName)", "SpecifySlot": "false", "ResourceGroupName": "$(ResourceGroupName)", "SourceSlot": "stage", "SwapWithProduction": "true", "TargetSlot": "", "PreserveVnet": "false", "Slot": "", "ExtensionsList": "", "OutputVariable": "" } } ] } ], "environmentOptions": { "emailNotificationType": "OnlyOnFailure", "emailRecipients": "release.environment.owner;release.creator", "skipArtifactsDownload": false, "timeoutInMinutes": 0, "enableAccessToken": false }, "demands": [], "conditions": [ { "name": "Dev", "conditionType": 2, "value": "4" } ], "executionPolicy": { "concurrencyCount": 0, "queueDepthCount": 0 }, "schedules": [], "retentionPolicy": { "daysToKeep": 30, "releasesToKeep": 3, "retainBuild": true } }, { "name": "Prod", "rank": 3, "variables": { "ResourceGroupName": { "value": "{{WebAppName}}Prod" }, "webSiteName": { "value": "{{WebAppName}}Prod{{uuid}}" }, "hostingPlanName": { "value": "{{WebAppName}}Prod" }, "aiLocation": { "value": "South Central US" }, "skuName": { "value": "S1" } }, "preDeployApprovals": { "approvals": [ { "rank": 1, "isAutomated": false, "isNotificationOn": false, "approver": { "id": "{{ApproverId}}", "displayName": "{{ApproverDisplayName}}", "uniqueName": "{{ApproverUniqueName}}" } } ], "approvalOptions": { "requiredApproverCount": 0, "releaseCreatorCanBeApprover": true } }, "deployStep": {}, "postDeployApprovals": { "approvals": [ { "rank": 1, "isAutomated": true, "isNotificationOn": false } ] }, "deployPhases": [ { "deploymentInput": { "skipArtifactsDownload": false, "timeoutInMinutes": 0, "queueId": "{{QueueId}}", "demands": [], "enableAccessToken": false }, "rank": 1, "phaseType": 1, "name": "Run on agent", "workflowTasks": [ { "taskId": "94a74903-f93f-4075-884f-dc11f34058b4", "version": "2.*", "name": "Azure Deployment:Create Or Update Resource Group action on {{WebAppName}}", "enabled": true, "refName": "arm", "alwaysRun": false, "continueOnError": false, "timeoutInMinutes": 0, "definitionType": "task", "inputs": { "ConnectedServiceNameSelector": "ConnectedServiceName", "ConnectedServiceName": "{{ConnectedServiceID}}", "ConnectedServiceNameClassic": "", "action": "Create Or Update Resource Group", "actionClassic": "Select Resource Group", "resourceGroupName": "$(ResourceGroupName)", "cloudService": "", "location": "Central US", "csmFile": "$(System.DefaultWorkingDirectory)/{{BuildName}}/drop/{{TemplateFolder}}/WebSite.json", "csmParametersFile": "$(System.DefaultWorkingDirectory)/{{BuildName}}/drop/{{TemplateFolder}}/WebSite.parameters.json", "overrideParameters": "-hostingPlanName $(hostingPlanName) -skuName $(skuName) -webSiteName $(webSiteName) -aiLocation \"$(aiLocation)\"", "enableDeploymentPrerequisitesForCreate": "false", "enableDeploymentPrerequisitesForSelect": "false", "outputVariable": "" } }, { "taskId": "f045e430-8704-11e6-968f-e717e6411619", "version": "0.*", "name": "Restart Azure App Service Stage Slot", "refName": "restart", "enabled": true, "alwaysRun": false, "continueOnError": false, "timeoutInMinutes": 0, "definitionType": "task", "overrideInputs": {}, "condition": "succeeded()", "inputs": { "ConnectedServiceName": "{{ConnectedServiceID}}", "Action": "Restart Azure App Service", "WebAppName": "$(webSiteName)", "SpecifySlot": "true", "ResourceGroupName": "$(ResourceGroupName)", "SourceSlot": "", "SwapWithProduction": "true", "TargetSlot": "", "PreserveVnet": "false", "Slot": "stage", "ExtensionsList": "", "OutputVariable": "" } }, { "taskId": "497d490f-eea7-4f2b-ab94-48d9c1acdcb1", "version": "2.*", "name": "Deploy AzureRM Web App: {{WebAppName}}Prod", "enabled": true, "alwaysRun": false, "refName": "deploy", "continueOnError": false, "timeoutInMinutes": 0, "definitionType": "task", "overrideInputs": {}, "condition": "succeeded()", "inputs": { "ConnectedServiceName": "{{ConnectedServiceID}}", "WebAppName": "$(webSiteName)", "WebAppKind": "app", "DeployToSlotFlag": "true", "ResourceGroupName": "$(ResourceGroupName)", "SlotName": "stage", "ImageSource": "Registry", "DockerNamespace": "", "DockerRepository": "", "DockerImageTag": "", "VirtualApplication": "", "Package": "**/*.zip", "BuiltinLinuxPackage": "$(System.DefaultWorkingDirectory)/**/*.zip", "RuntimeStack": "node|4.4", "StartupCommand": "", "WebAppUri": "", "ScriptType": "", "InlineScript": ":: You can provide your deployment commands here. One command per line.", "ScriptPath": "", "GenerateWebConfig": "false", "WebConfigParameters": "", "AppSettings": "", "TakeAppOfflineFlag": "false", "UseWebDeploy": "true", "SetParametersFile": "", "RemoveAdditionalFilesFlag": "true", "ExcludeFilesFromAppDataFlag": "false", "AdditionalArguments": "", "RenameFilesFlag": "false", "XmlTransformation": "false", "XmlVariableSubstitution": "false", "JSONFiles": "" } }, { "taskId": "f045e430-8704-11e6-968f-e717e6411619", "version": "0.*", "name": "Swap Slots", "refName": "swap", "enabled": true, "alwaysRun": false, "continueOnError": false, "timeoutInMinutes": 0, "definitionType": "task", "overrideInputs": {}, "condition": "succeeded()", "inputs": { "ConnectedServiceName": "{{ConnectedServiceID}}", "Action": "Swap Slots", "WebAppName": "$(webSiteName)", "SpecifySlot": "false", "ResourceGroupName": "$(ResourceGroupName)", "SourceSlot": "stage", "SwapWithProduction": "true", "TargetSlot": "", "PreserveVnet": "false", "Slot": "", "ExtensionsList": "", "OutputVariable": "" } } ] } ], "environmentOptions": { "emailNotificationType": "OnlyOnFailure", "emailRecipients": "release.environment.owner;release.creator", "skipArtifactsDownload": false, "timeoutInMinutes": 0, "enableAccessToken": false }, "demands": [], "conditions": [ { "name": "QA", "conditionType": 2, "value": "4" } ], "executionPolicy": { "concurrencyCount": 0, "queueDepthCount": 0 }, "schedules": [], "retentionPolicy": { "daysToKeep": 30, "releasesToKeep": 3, "retainBuild": true } } ], "artifacts": [ { "sourceId": "{{ProjectId}}:{{BuildId}}", "type": "Build", "alias": "{{BuildName}}", "definitionReference": { "defaultVersionBranch": { "id": "", "name": "" }, "defaultVersionSpecific": { "id": "", "name": "" }, "defaultVersionTags": { "id": "", "name": "" }, "defaultVersionType": { "id": "latestType", "name": "Latest" }, "definition": { "id": "{{BuildId}}", "name": "{{BuildName}}" }, "project": { "id": "{{ProjectId}}", "name": "{{ProjectName}}" } }, "isPrimary": true } ], "triggers": [ { "artifactAlias": "{{BuildName}}", "triggerType": 1 } ] }