-
Notifications
You must be signed in to change notification settings - Fork 2.6k
/
Copy pathtask.json
728 lines (728 loc) · 43.3 KB
/
task.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
{
"id": "497D490F-EEA7-4F2B-AB94-48D9C1ACDCB1",
"name": "AzureRmWebAppDeployment",
"friendlyName": "Azure App Service deploy",
"description": "Deploy to Azure App Service a web, mobile, or API app using Docker, Java, .NET, .NET Core, Node.js, PHP, Python, or Ruby",
"helpUrl": "https://aka.ms/azureappservicetroubleshooting",
"helpMarkDown": "[Learn more about this task](https://aka.ms/azurermwebdeployreadme)",
"category": "Deploy",
"visibility": [
"Build",
"Release"
],
"runsOn": [
"Agent",
"DeploymentGroup"
],
"author": "Microsoft Corporation",
"version": {
"Major": 5,
"Minor": 253,
"Patch": 0
},
"releaseNotes": "What's new in version 4.*<br />Supports Zip Deploy, Run From Package, War Deploy [Details here](https://aka.ms/appServiceDeploymentMethods)<br />Supports App Service Environments<br />Improved UI for discovering different App service types supported by the task<br/>Run From Package is the preferred deployment method, which makes files in wwwroot folder read-only<br/>Click [here](https://aka.ms/azurermwebdeployreadme) for more information.",
"minimumAgentVersion": "2.104.1",
"groups": [
{
"name": "FileTransformsAndVariableSubstitution",
"displayName": "File Transforms & Variable Substitution Options",
"isExpanded": false,
"visibleRule": "WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != webAppLinux && webAppKind != functionAppLinux && Package NotEndsWith .war"
},
{
"name": "AdditionalDeploymentOptions",
"displayName": "Additional Deployment Options",
"isExpanded": false,
"visibleRule": "ConnectionType = AzureRM && WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && webAppKind != functionAppLinux && WebAppKind != \"\" && Package NotEndsWith .war && Package NotEndsWith .jar"
},
{
"name": "AdditionalDeploymentOptionsLinux",
"displayName": "Additional Deployment Options",
"isExpanded": false,
"visibleRule": "ConnectionType = AzureRM && WebAppKind = webAppLinux"
},
{
"name": "PostDeploymentAction",
"displayName": "Post Deployment Action",
"isExpanded": false,
"visibleRule": "ConnectionType = AzureRM && WebAppKind != \"\" && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer"
},
{
"name": "ApplicationAndConfigurationSettings",
"displayName": "Application and Configuration Settings",
"isExpanded": false,
"visibleRule": "ConnectionType = AzureRM"
}
],
"inputs": [
{
"name": "ConnectionType",
"type": "pickList",
"label": "Connection type",
"defaultValue": "AzureRM",
"options": {
"AzureRM": "Azure Resource Manager",
"PublishProfile": "Publish Profile"
},
"required": true,
"helpMarkDown": "Select the service connection type to use to deploy the Web App.<br />Select Publish Profile for using Visual Studio created Publish profile. [More Information](https://aka.ms/vsPublishProfile)."
},
{
"name": "ConnectedServiceName",
"aliases": [
"azureSubscription"
],
"type": "connectedService:AzureRM",
"label": "Azure subscription",
"defaultValue": "",
"required": true,
"helpMarkDown": "Select the Azure Resource Manager subscription for the deployment.",
"visibleRule": "ConnectionType = AzureRM"
},
{
"name": "PublishProfilePath",
"type": "filePath",
"label": "Publish profile path",
"defaultValue": "$(System.DefaultWorkingDirectory)/**/*.pubxml",
"required": true,
"helpMarkDown": "Path of the Publish profile created from Visual Studio",
"visibleRule": "ConnectionType = PublishProfile"
},
{
"name": "PublishProfilePassword",
"type": "string",
"label": "Publish profile password",
"required": true,
"helpMarkDown": "It is recommended to store password in a secret variable and use that variable here e.g. $(Password).",
"visibleRule": "ConnectionType = PublishProfile"
},
{
"name": "WebAppKind",
"aliases": [
"appType"
],
"type": "pickList",
"label": "App Service type",
"defaultValue": "webApp",
"required": true,
"options": {
"webApp": "Web App on Windows",
"webAppLinux": "Web App on Linux",
"webAppContainer": "Web App for Containers (Linux)",
"webAppHyperVContainer": "Web App for Containers (Windows)",
"functionApp": "Function App on Windows (Not Recommended, Use Azure Functions Task)",
"functionAppLinux": "Function App on Linux (Not Recommended, Use Azure Functions Task)",
"functionAppContainer": "Function App for Containers (Linux) (Not Recommended, Use Azure Functions for container Task)",
"apiApp": "API App",
"mobileApp": "Mobile App"
},
"properties": {
"EditableOptions": "true"
},
"helpMarkDown": "Choose from Web App On Windows, Web App On Linux, Web App for Containers, Function App, Function App on Linux, Function App for Containers and Mobile App.",
"visibleRule": "ConnectionType = AzureRM"
},
{
"name": "WebAppName",
"type": "pickList",
"label": "App Service name",
"defaultValue": "",
"required": true,
"properties": {
"EditableOptions": "True"
},
"helpMarkDown": "Enter or Select the name of an existing Azure App Service. App services based on selected app type will only be listed.",
"visibleRule": "ConnectionType = AzureRM"
},
{
"name": "DeployToSlotOrASEFlag",
"aliases": [
"deployToSlotOrASE"
],
"type": "boolean",
"label": "Deploy to Slot or App Service Environment",
"defaultValue": "false",
"required": false,
"helpMarkDown": "Select the option to deploy to an existing deployment slot or Azure App Service Environment.<br />For both the targets, the task needs Resource group name.<br />In case the deployment target is a slot, by default the deployment is done to the production slot. Any other existing slot name can also be provided.<br />In case the deployment target is an Azure App Service environment, leave the slot name as ‘production’ and just specify the Resource group name.",
"visibleRule": "ConnectionType = AzureRM && WebAppKind != \"\""
},
{
"name": "ResourceGroupName",
"type": "pickList",
"label": "Resource group",
"defaultValue": "",
"required": true,
"properties": {
"EditableOptions": "True"
},
"helpMarkDown": "The Resource group name is required when the deployment target is either a deployment slot or an App Service Environment.<br />Enter or Select the Azure Resource group that contains the Azure App Service specified above.",
"visibleRule": "DeployToSlotOrASEFlag = true"
},
{
"name": "SlotName",
"type": "pickList",
"label": "Slot",
"defaultValue": "production",
"required": true,
"properties": {
"EditableOptions": "True"
},
"helpMarkDown": "Enter or Select an existing Slot other than the Production slot.",
"visibleRule": "DeployToSlotOrASEFlag = true"
},
{
"name": "DockerNamespace",
"type": "string",
"label": "Registry or Namespace",
"defaultValue": "",
"required": true,
"visibleRule": "WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer",
"helpMarkDown": "A globally unique top-level domain name for your specific registry or namespace.<br/> Note: Fully qualified image name will be of the format: '<b>`<registry or namespace`></b>/`<repository`>:`<tag`>'. For example, '<b>myregistry.azurecr.io</b>/nginx:latest'."
},
{
"name": "DockerRepository",
"type": "string",
"label": "Image",
"defaultValue": "",
"required": true,
"visibleRule": "WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer",
"helpMarkDown": "Name of the repository where the container images are stored.<br/> Note: Fully qualified image name will be of the format: '`<registry or namespace`>/<b>`<repository`></b>:`<tag`>'. For example, 'myregistry.azurecr.io/<b>nginx</b>:latest'."
},
{
"name": "DockerImageTag",
"type": "string",
"label": "Tag",
"defaultValue": "",
"required": false,
"visibleRule": "WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = webAppHyperVContainer",
"helpMarkDown": "Tags are optional, it is the mechanism that registries use to give Docker images a version.<br/> Note: Fully qualified image name will be of the format: '`<registry or namespace`>/`<repository`>:<b>`<tag`></b>'. For example, 'myregistry.azurecr.io/nginx:<b>latest</b>'."
},
{
"name": "VirtualApplication",
"type": "string",
"label": "Virtual application",
"defaultValue": "",
"required": false,
"visibleRule": "WebAppKind != webAppLinux && WebAppKind != webAppContainer && WebAppKind != webAppHyperVContainer && WebAppkind != functionAppContainer && WebAppKind != functionApp && webAppKind != functionAppLinux && WebAppKind != \"\"",
"helpMarkDown": "Specify the name of the Virtual application that has been configured in the Azure portal. The option is not required for deployments to the App Service root."
},
{
"name": "Package",
"aliases": [
"packageForLinux"
],
"type": "filePath",
"label": "Package or folder",
"defaultValue": "$(System.DefaultWorkingDirectory)/**/*.zip",
"required": true,
"visibleRule": "ConnectionType = PublishProfile || WebAppKind = webApp || WebAppKind = apiApp || WebAppKind = functionApp || WebAppKind = mobileApp || WebAppKind = webAppLinux || webAppKind = functionAppLinux",
"helpMarkDown": "File path to the package or a folder containing app service contents generated by MSBuild or a compressed zip or war file.<br />Variables ( [Build](https://docs.microsoft.com/vsts/pipelines/build/variables) | [Release](https://docs.microsoft.com/vsts/pipelines/release/variables#default-variables)), wildcards are supported. <br/> For example, $(System.DefaultWorkingDirectory)/\\*\\*/\\*.zip or $(System.DefaultWorkingDirectory)/\\*\\*/\\*.war."
},
{
"name": "RuntimeStack",
"type": "pickList",
"label": "Runtime Stack",
"defaultValue": "",
"required": false,
"properties": {
"EditableOptions": "True"
},
"options": {
"DOTNETCORE:9.0": ".NET 9.0",
"DOTNETCORE:8.0": ".NET 8.0",
"DOTNETCORE:7.0": ".NET 7.0",
"DOTNETCORE:6.0": ".NET 6.0",
"NODE:22-lts": "Node 22 LTS",
"NODE:20-lts": "Node 20 LTS",
"NODE:18-lts": "Node 18 LTS",
"NODE:16-lts": "Node 16 LTS",
"PYTHON:3.12": "Python 3.12",
"PYTHON:3.11": "Python 3.11",
"PYTHON:3.10": "Python 3.10",
"PYTHON:3.9": "Python 3.9",
"PYTHON:3.8": "Python 3.8",
"PHP:8.3": "PHP 8.3",
"PHP:8.2": "PHP 8.2",
"PHP:8.1": "PHP 8.1",
"PHP:8.0": "PHP 8.0",
"JAVA:21-java21": "Java 21",
"JAVA:17-java17": "Java 17",
"JAVA:11-java11": "Java 11",
"JAVA:8-jre8": "Java 8",
"JBOSSEAP:8-java17": "JBoss EAP 8 (Java 17)",
"JBOSSEAP:8-java11": "JBoss EAP 8 (Java 11)",
"JBOSSEAP:7-java17": "JBoss EAP 7 (Java 17)",
"JBOSSEAP:7-java11": "JBoss EAP 7 (Java 11)",
"JBOSSEAP:7-java8": "JBoss EAP 7 (Java 8)",
"TOMCAT:10.1-java21": "Tomcat 10.1 (Java 21)",
"TOMCAT:10.1-java17": "Tomcat 10.1 (Java 17)",
"TOMCAT:10.1-java11": "Tomcat 10.1 (Java 11)",
"TOMCAT:10.0-java17": "Tomcat 10.0 (Java 17)",
"TOMCAT:10.0-java11": "Tomcat 10.0 (Java 11)",
"TOMCAT:10.0-jre8": "Tomcat 10.0 (Java 8)",
"TOMCAT:9.0-java21": "Tomcat 9.0 (Java 21)",
"TOMCAT:9.0-java17": "Tomcat 9.0 (Java 17)",
"TOMCAT:9.0-java11": "Tomcat 9.0 (Java 11)",
"TOMCAT:9.0-jre8": "Tomcat 9.0 (Java 8)",
"TOMCAT:8.5-java11": "Tomcat 8.5 (Java 11)",
"TOMCAT:8.5-jre8": "Tomcat 8.5 (Java 8)"
},
"helpMarkDown": "Select the framework and version.",
"visibleRule": "WebAppKind = webAppLinux"
},
{
"name": "RuntimeStackFunction",
"type": "pickList",
"label": "Runtime Stack",
"defaultValue": "",
"required": false,
"properties": {
"EditableOptions": "True"
},
"options": {
"DOTNET|2.2": "DOTNET|2.2 (functionapp v2)",
"DOTNET|3.1": "DOTNET|3.1 (functionapp v3)",
"JAVA|8": "JAVA|8 (functionapp v2/v3)",
"JAVA|11": "JAVA|11 (functionapp v3)",
"NODE|8": "NODE|8 (functionapp v2)",
"NODE|10": "NODE|10 (functionapp v2/v3)",
"NODE|12": "NODE|12 (functionapp v3)",
"NODE|14": "NODE|14 (functionapp v3)",
"PYTHON|3.6": "PYTHON|3.6 (functionapp v2/v3)",
"PYTHON|3.7": "PYTHON|3.7 (functionapp v2/v3)",
"PYTHON|3.8": "PYTHON|3.8 (functionapp v3)"
},
"helpMarkDown": "Select the framework and version. Refer [this doc](https://docs.microsoft.com/azure/azure-functions/functions-versions#languages) for supported runtime versions. Old values like `DOCKER|microsoft/azure-functions-*` are deprecated, please use the new values from dropdown.",
"visibleRule": "WebAppKind = functionAppLinux"
},
{
"name": "StartupCommand",
"type": "string",
"label": "Startup command ",
"defaultValue": "",
"required": false,
"visibleRule": "WebAppKind = webAppLinux || WebAppKind = webAppContainer || WebAppkind = functionAppContainer || WebAppKind = functionAppLinux || WebAppKind = webAppHyperVContainer",
"helpMarkDown": "Enter the start up command. For ex.<br/>dotnet exec filename.dll<br/>dotnet filename.dll"
},
{
"name": "ScriptType",
"type": "pickList",
"label": "Deployment script type",
"defaultValue": "",
"options": {
"": "Select deployment script type (inline or file)",
"Inline Script": "Inline Script",
"File Path": "Script File Path"
},
"groupName": "PostDeploymentAction",
"helpMarkDown": "Customize the deployment by providing a script that will run on the Azure App service once the task has completed the deployment successfully . For example restore packages for Node, PHP, Python applications. [Learn more](https://go.microsoft.com/fwlink/?linkid=843471)."
},
{
"name": "InlineScript",
"type": "multiLine",
"label": "Inline Script",
"defaultValue": ":: You can provide your deployment commands here. One command per line.",
"groupName": "PostDeploymentAction",
"required": true,
"visibleRule": "ScriptType == Inline Script",
"properties": {
"resizable": "true",
"rows": "10",
"maxLength": "500"
}
},
{
"name": "ScriptPath",
"type": "filePath",
"label": "Deployment script path",
"required": true,
"groupName": "PostDeploymentAction",
"visibleRule": "ScriptType == File Path"
},
{
"name": "WebConfigParameters",
"type": "multiLine",
"label": "Generate web.config parameters for Python, Node.js, Go and Java apps",
"required": false,
"defaultValue": "",
"groupName": "FileTransformsAndVariableSubstitution",
"helpMarkDown": "A standard Web.config will be generated and deployed to Azure App Service if the application does not have one. The values in web.config can be edited and vary based on the application framework. For example for node.js application, web.config will have startup file and iis_node module values. This edit feature is only for the generated web.config. [Learn more](https://go.microsoft.com/fwlink/?linkid=843469).",
"properties": {
"editorExtension": "ms.vss-services-azure.webconfig-parameters-grid"
}
},
{
"name": "AppSettings",
"type": "multiLine",
"label": "App settings",
"defaultValue": "",
"required": false,
"groupName": "ApplicationAndConfigurationSettings",
"helpMarkDown": "Edit web app application settings following the syntax -key value . Value containing spaces should be enclosed in double quotes.<br /> <b>Example</b> : -Port 5000 -RequestTimeout 5000 <br /> -WEBSITE_TIME_ZONE \"Eastern Standard Time\"",
"properties": {
"editorExtension": "ms.vss-services-azure.parameters-grid"
}
},
{
"name": "ConfigurationSettings",
"type": "multiLine",
"label": "Configuration settings",
"defaultValue": "",
"required": false,
"groupName": "ApplicationAndConfigurationSettings",
"helpMarkDown": "Edit web app configuration settings following the syntax -key value. Value containing spaces should be enclosed in double quotes.<br /> Example : -phpVersion 5.6 -linuxFxVersion: node|6.11",
"properties": {
"editorExtension": "ms.vss-services-azure.parameters-grid"
}
},
{
"name": "UseWebDeploy",
"aliases": [
"enableCustomDeployment"
],
"type": "boolean",
"label": "Select deployment method",
"required": false,
"defaultValue": "false",
"groupName": "AdditionalDeploymentOptions",
"helpMarkDown": "If unchecked we will auto-detect the best deployment method based on your app type, package format and other parameters. <br>Select the option to view the supported deployment methods and choose one for deploying your app."
},
{
"name": "DeploymentType",
"type": "pickList",
"label": "Deployment method",
"defaultValue": "webDeploy",
"required": true,
"groupName": "AdditionalDeploymentOptions",
"options": {
"webDeploy": "Web Deploy",
"zipDeploy": "Zip Deploy",
"runFromZip": "Run From Package"
},
"helpMarkDown": "Choose the deployment method for the app.",
"visibleRule": "UseWebDeploy == true"
},
{
"name": "TakeAppOfflineFlag",
"type": "boolean",
"label": "Take App Offline",
"defaultValue": "true",
"required": false,
"groupName": "AdditionalDeploymentOptions",
"visibleRule": "UseWebDeploy == true && DeploymentType != runFromZip",
"helpMarkDown": "Select the option to take the Azure App Service offline by placing an app_offline.htm file in the root directory of the App Service before the sync operation begins. The file will be removed after the sync operation completes successfully."
},
{
"name": "SetParametersFile",
"type": "filePath",
"label": "SetParameters file",
"defaultValue": "",
"required": false,
"groupName": "AdditionalDeploymentOptions",
"visibleRule": "UseWebDeploy == true && DeploymentType == webDeploy",
"helpMarkDown": "Optional: location of the SetParameters.xml file to use."
},
{
"name": "RemoveAdditionalFilesFlag",
"type": "boolean",
"label": "Remove additional files at destination",
"defaultValue": "false",
"required": false,
"groupName": "AdditionalDeploymentOptions",
"visibleRule": "UseWebDeploy == true && DeploymentType == webDeploy",
"helpMarkDown": "Select the option to delete files on the Azure App Service that have no matching files in the App Service package or folder.<br /><br />Note: This will also remove all files related to any extension installed on this Azure App Service. To prevent this, select 'Exclude files from App_Data folder' checkbox. "
},
{
"name": "ExcludeFilesFromAppDataFlag",
"type": "boolean",
"label": "Exclude files from the App_Data folder",
"defaultValue": "true",
"required": false,
"groupName": "AdditionalDeploymentOptions",
"visibleRule": "UseWebDeploy == true && DeploymentType == webDeploy",
"helpMarkDown": "Select the option to prevent files in the App_Data folder from being deployed to/ deleted from the Azure App Service."
},
{
"name": "AdditionalArguments",
"type": "string",
"label": "Additional arguments",
"required": false,
"defaultValue": "-retryAttempts:6 -retryInterval:10000",
"groupName": "AdditionalDeploymentOptions",
"visibleRule": "UseWebDeploy == true && DeploymentType == webDeploy",
"helpMarkDown": "Additional Web Deploy arguments following the syntax -key:value .<br />These will be applied when deploying the Azure App Service. Example: -disableLink:AppPoolExtension -disableLink:ContentExtension.<br />For more examples of Web Deploy operation settings, refer to [this](https://go.microsoft.com/fwlink/?linkid=838471)."
},
{
"name": "RenameFilesFlag",
"type": "boolean",
"label": "Rename locked files",
"defaultValue": "true",
"required": false,
"visibleRule": "UseWebDeploy == true && DeploymentType == webDeploy",
"groupName": "AdditionalDeploymentOptions",
"helpMarkDown": "Select the option to enable msdeploy flag MSDEPLOY_RENAME_LOCKED_FILES=1 in Azure App Service application settings. The option if set enables msdeploy to rename locked files that are locked during app deployment"
},
{
"name": "XmlTransformation",
"aliases": [
"enableXmlTransform"
],
"type": "boolean",
"label": "XML transformation",
"required": false,
"defaultValue": false,
"groupName": "FileTransformsAndVariableSubstitution",
"helpMarkDown": "The config transforms will be run for `*.Release.config` and `*.<EnvironmentName>.config` on the `*.config file`.<br/> Config transforms will be run prior to the Variable Substitution.<br/>XML transformations are supported only for Windows platform."
},
{
"name": "XmlVariableSubstitution",
"aliases": [
"enableXmlVariableSubstitution"
],
"type": "boolean",
"label": "XML variable substitution",
"required": false,
"defaultValue": false,
"groupName": "FileTransformsAndVariableSubstitution",
"helpMarkDown": "Variables defined in the build or release pipelines will be matched against the 'key' or 'name' entries in the appSettings, applicationSettings, and connectionStrings sections of any config file and parameters.xml. Variable Substitution is run after config transforms. <br/><br/> Note: If same variables are defined in the release pipeline and in the environment, then the environment variables will supersede the release pipeline variables.<br/>"
},
{
"name": "JSONFiles",
"type": "multiLine",
"label": "JSON variable substitution",
"required": false,
"defaultValue": "",
"groupName": "FileTransformsAndVariableSubstitution",
"helpMarkDown": "Provide new line separated list of JSON files to substitute the variable values. Files names are to be provided relative to the root folder. <br/> To substitute JSON variables that are nested or hierarchical, specify them using JSONPath expressions. <br/> <br/> For example, to replace the value of ‘ConnectionString’ in the sample below, you need to define a variable as ‘Data.DefaultConnection.ConnectionString’ in the build or release pipeline (or release pipeline's environment). <br/> {<br/> \"Data\": {<br/> \"DefaultConnection\": {<br/> \"ConnectionString\": \"Server=(localdb)\\SQLEXPRESS;Database=MyDB;Trusted_Connection=True\"<br/> }<br/> }<br/> }<br/> Variable Substitution is run after configuration transforms. <br/><br/> Note: pipeline variables are excluded in substitution."
},
{
"name": "DeploymentTypeLinux",
"type": "pickList",
"label": "Deployment method",
"defaultValue": "oneDeploy",
"required": true,
"groupName": "AdditionalDeploymentOptionsLinux",
"options": {
"oneDeploy": "One Deploy",
"zipDeploy": "Zip Deploy"
},
"helpMarkDown": "Choose the deployment method for the app."
},
{
"name": "CleanDeploymentFlag",
"type": "boolean",
"label": "Enable clean deployment",
"required": false,
"defaultValue": "true",
"groupName": "AdditionalDeploymentOptionsLinux",
"visibleRule": "DeploymentTypeLinux == oneDeploy",
"helpMarkDown": "Deployment mode for complete sync (clean) deployment"
}
],
"outputVariables": [
{
"name": "AppServiceApplicationUrl",
"description": "Application URL of the selected App Service."
}
],
"dataSourceBindings": [
{
"target": "WebAppName",
"endpointId": "$(ConnectedServiceName)",
"dataSourceName": "AzureRMWebAppNamesByAppType",
"parameters": {
"WebAppKind": "$(WebAppKind)"
}
},
{
"target": "ResourceGroupName",
"endpointId": "$(ConnectedServiceName)",
"dataSourceName": "AzureRMWebAppResourceGroup",
"parameters": {
"WebAppName": "$(WebAppName)"
}
},
{
"target": "SlotName",
"endpointId": "$(ConnectedServiceName)",
"dataSourceName": "AzureRMWebAppSlotsId",
"parameters": {
"WebAppName": "$(WebAppName)",
"ResourceGroupName": "$(ResourceGroupName)"
},
"resultTemplate": "{\"Value\":\"{{{ #extractResource slots}}}\",\"DisplayValue\":\"{{{ #extractResource slots}}}\"}"
}
],
"instanceNameFormat": "Azure App Service Deploy: $(WebAppName)",
"execution": {
"Node16": {
"target": "azurermwebappdeployment.js",
"argumentFormat": ""
},
"Node10": {
"target": "azurermwebappdeployment.js"
},
"Node20_1": {
"target": "azurermwebappdeployment.js",
"argumentFormat": ""
}
},
"messages": {
"Invalidwebapppackageorfolderpathprovided": "Invalid App Service package or folder path provided: %s",
"SetParamFilenotfound0": "Set parameters file not found: %s",
"XDTTransformationsappliedsuccessfully": "XML Transformations applied successfully",
"GotconnectiondetailsforazureRMWebApp0": "Got service connection details for Azure App Service:'%s'",
"ErrorNoSuchDeployingMethodExists": "Error : No such deploying method exists",
"UnabletoretrieveconnectiondetailsforazureRMWebApp": "Unable to retrieve service connection details for Azure App Service : %s. Status Code: %s (%s)",
"UnabletoretrieveResourceID": "Unable to retrieve service connection details for Azure Resource:'%s'. Status Code: %s",
"Successfullyupdateddeploymenthistory": "Successfully updated deployment History at %s",
"Failedtoupdatedeploymenthistory": "Failed to update deployment history. Error: %s",
"WARNINGCannotupdatedeploymentstatusSCMendpointisnotenabledforthiswebsite": "WARNING : Cannot update deployment status : SCM endpoint is not enabled for this website",
"Unabletoretrievewebconfigdetails": "Unable to retrieve App Service configuration details. Status Code: '%s'",
"Unabletoretrievewebappsettings": "Unable to retrieve App Service application settings. [Status Code: '%s', Error Message: '%s']",
"Unabletoupdatewebappsettings": "Unable to update App service application settings. Status Code: '%s'",
"CannotupdatedeploymentstatusuniquedeploymentIdCannotBeRetrieved": "Cannot update deployment status : Unique Deployment ID cannot be retrieved",
"PackageDeploymentSuccess": "Successfully deployed web package to App Service.",
"PackageDeploymentFailed": "Failed to deploy web package to App Service.",
"Runningcommand": "Running command: %s",
"Deployingwebapplicationatvirtualpathandphysicalpath": "Deploying web package : %s at virtual path (physical path) : %s (%s)",
"Successfullydeployedpackageusingkuduserviceat": "Successfully deployed package %s using kudu service at %s",
"Failedtodeploywebapppackageusingkuduservice": "Failed to deploy App Service package using kudu service : %s",
"Unabletodeploywebappresponsecode": "Unable to deploy App Service due to error code : %s",
"MSDeploygeneratedpackageareonlysupportedforWindowsplatform": "MSDeploy generated packages are only supported for Windows platform.",
"UnsupportedinstalledversionfoundforMSDeployversionshouldbeatleast3orabove": "Unsupported installed version: %s found for MSDeploy. version should be at least 3 or above",
"UnabletofindthelocationofMSDeployfromregistryonmachineError": "Unable to find the location of MS Deploy from registry on machine (Error : %s)",
"Nopackagefoundwithspecifiedpattern": "No package found with specified pattern: %s<br/>Check if the package mentioned in the task is published as an artifact in the build or a previous stage and downloaded in the current job.",
"MorethanonepackagematchedwithspecifiedpatternPleaserestrainthesearchpattern": "More than one package matched with specified pattern: %s. Please restrain the search pattern.",
"Trytodeploywebappagainwithappofflineoptionselected": "Try to deploy app service again with Take application offline option selected.",
"Trytodeploywebappagainwithrenamefileoptionselected": "Try to deploy app service again with Rename locked files option selected.",
"NOJSONfilematchedwithspecificpattern": "NO JSON file matched with specific pattern: %s.",
"Configfiledoesntexists": "Configuration file %s doesn't exist.",
"Failedtowritetoconfigfilewitherror": "Failed to write to config file %s with error : %s",
"AppOfflineModeenabled": "App offline mode enabled.",
"Failedtoenableappofflinemode": "Failed to enable app offline mode. Status Code: %s (%s)",
"AppOflineModedisabled": "App offline mode disabled.",
"FailedtodisableAppOfflineMode": "Failed to disable App offline mode. Status Code: %s (%s)",
"CannotPerformXdtTransformationOnNonWindowsPlatform": "Cannot perform XML transformations on a non-Windows platform.",
"XdtTransformationErrorWhileTransforming": "XML transformation error while transforming %s using %s.",
"PublishusingwebdeployoptionsaresupportedonlywhenusingWindowsagent": "Publish using webdeploy options are supported only when using Windows agent",
"Publishusingzipdeploynotsupportedformsbuildpackage": "Publish using zip deploy option is not supported for msBuild package type.",
"Publishusingzipdeploynotsupportedforvirtualapplication": "Publish using zip deploy option is not supported for virtual application.",
"Publishusingzipdeploydoesnotsupportwarfile": "Publish using zip deploy or RunFromZip options do not support war file deployment.",
"Publishusingrunfromzipwithpostdeploymentscript": "Publish using RunFromZip might not support post deployment script if it makes changes to wwwroot, since the folder is ReadOnly.",
"ResourceDoesntExist": "Resource '%s' doesn't exist. Resource should exist before deployment.",
"EncodeNotSupported": "Detected file encoding of the file %s as %s. Variable substitution is not supported with file encoding %s. Supported encodings are UTF-8 and UTF-16 LE.",
"UnknownFileEncodeError": "Unable to detect encoding of the file %s (typeCode: %s). Supported encodings are UTF-8 and UTF-16 LE.",
"ShortFileBufferError": "File buffer is too short to detect encoding type : %s",
"FailedToUpdateAzureRMWebAppConfigDetails": "Failed to update App Service configuration details. Error: %s",
"SuccessfullyUpdatedAzureRMWebAppConfigDetails": "Successfully updated App Service configuration details",
"RequestedURLforkuduphysicalpath": "Requested URL for kudu physical path : %s",
"Physicalpathalreadyexists": "Physical path '%s' already exists",
"KuduPhysicalpathCreatedSuccessfully": "Kudu physical path created successfully : %s",
"FailedtocreateKuduPhysicalPath": "Failed to create kudu physical path. Error : %s",
"FailedtocheckphysicalPath": "Failed to check kudu physical path. Error Code: %s",
"VirtualApplicationDoesNotExist": "Virtual application doesn't exists : %s",
"JSONParseError": "Unable to parse JSON file: %s. Error: %s",
"JSONvariablesubstitutionappliedsuccessfully": "JSON variable substitution applied successfully.",
"XMLvariablesubstitutionappliedsuccessfully": "XML variable substitution applied successfully.",
"failedtoUploadFileToKudu": "Unable to upload file: %s to Kudu (%s). Status Code: %s",
"failedtoUploadFileToKuduError": "Unable to upload file: %s to Kudu (%s). Error: %s",
"ExecuteScriptOnKudu": "Executing given script on Kudu service.",
"FailedToRunScriptOnKuduError": "Unable to run the script on Kudu Service. Error: %s",
"FailedToRunScriptOnKudu": "Unable to run the script on Kudu: %s. Status Code: %s",
"ScriptExecutionOnKuduSuccess": "Successfully executed script on Kudu.",
"ScriptExecutionOnKuduFailed": "Executed script returned '%s' as return code. Error: %s",
"FailedtoDeleteFileFromKudu": "Unable to delete file: %s from Kudu (%s). Status Code: %s",
"FailedtoDeleteFileFromKuduError": "Unable to delete file: %s from Kudu (%s). Error: %s",
"ScriptFileNotFound": "Script file '%s' not found.",
"InvalidScriptFile": "Invalid script file '%s' provided. Valid extensions are .bat and .cmd for windows and .sh for linux",
"RetryForTimeoutIssue": "Script execution failed with timeout issue. Retrying once again.",
"stdoutFromScript": "Standard output from script: ",
"stderrFromScript": "Standard error from script: ",
"WebConfigAlreadyExists": "web.config file already exists. Not generating.",
"SuccessfullyGeneratedWebConfig": "Successfully generated web.config file",
"FailedToGenerateWebConfig": "Failed to generate web.config. %s",
"FailedToGetKuduFileContent": "Unable to get file content: %s . Status code: %s (%s)",
"FailedToGetKuduFileContentError": "Unable to get file content: %s. Error: %s",
"ScriptStatusTimeout": "Unable to fetch script status due to timeout.",
"PollingForFileTimeOut": "Unable to fetch script status due to timeout. You can increase the timeout limit by setting 'appservicedeploy.retrytimeout' variable to number of minutes required.",
"InvalidPollOption": "Invalid polling option provided: %s.",
"MissingAppTypeWebConfigParameters": "Attribute '-appType' is missing in the Web.config parameters. Valid values for '-appType' are: 'python_Bottle', 'python_Django', 'python_Flask', 'node' and 'Go'.<br />For example, '-appType python_Bottle' (sans-quotes) in case of Python Bottle framework..",
"AutoDetectDjangoSettingsFailed": "Unable to detect DJANGO_SETTINGS_MODULE 'settings.py' file path. Ensure that the 'settings.py' file exists or provide the correct path in Web.config parameter input in the following format '-DJANGO_SETTINGS_MODULE <folder_name>.settings'",
"FailedToApplyTransformation": "Unable to apply transformation for the given package. Verify the following.",
"FailedToApplyTransformationReason1": "1. Whether the Transformation is already applied for the MSBuild generated package during build. If yes, remove the <DependentUpon> tag for each config in the csproj file and rebuild. ",
"FailedToApplyTransformationReason2": "2. Ensure that the config file and transformation files are present in the same folder inside the package.",
"AutoParameterizationMessage": "ConnectionString attributes in Web.config is parameterized by default. Note that the transformation has no effect on connectionString attributes as the value is overridden during deployment by 'Parameters.xml or 'SetParameters.xml' files. You can disable the auto-parameterization by setting /p:AutoParameterizationWebConfigConnectionStrings=False during MSBuild package generation.",
"UnsupportedAppType": "App type '%s' not supported in Web.config generation. Valid values for '-appType' are: 'python_Bottle', 'python_Django', 'python_Flask' and 'node'",
"UnableToFetchAuthorityURL": "Unable to fetch authority URL.",
"UnableToFetchActiveDirectory": "Unable to fetch Active Directory resource ID.",
"SuccessfullyUpdatedRuntimeStackAndStartupCommand": "Successfully updated the Runtime Stack and Startup Command.",
"FailedToUpdateRuntimeStackAndStartupCommand": "Failed to update the Runtime Stack and Startup Command. Error: %s.",
"SuccessfullyUpdatedWebAppSettings": "Successfully updated the App settings.",
"FailedToUpdateAppSettingsInConfigDetails": "Failed to update the App settings. Error: %s.",
"UnableToGetAzureRMWebAppMetadata": "Failed to fetch AzureRM WebApp metadata. ErrorCode: %s",
"UnableToUpdateAzureRMWebAppMetadata": "Unable to update AzureRM WebApp metadata. Error Code: %s",
"Unabletoretrieveazureregistrycredentials": "Unable to retrieve Azure Container Registry credentials.[Status Code: '%s']",
"UnableToReadResponseBody": "Unable to read response body. Error: %s",
"UnableToUpdateWebAppConfigDetails": "Unable to update WebApp config details. StatusCode: '%s'",
"AddingReleaseAnnotation": "Adding release annotation for the Application Insights resource '%s'",
"SuccessfullyAddedReleaseAnnotation": "Successfully added release annotation to the Application Insight : %s",
"FailedAddingReleaseAnnotation": "Failed to add release annotation. %s",
"RenameLockedFilesEnabled": "Rename locked files enabled for App Service.",
"FailedToEnableRenameLockedFiles": "Failed to enable rename locked files. Error: %s",
"WebJobsInProgressIssue": "Few WebJobs in running state prevents the deployment from removing the files. You can disable 'Remove additional files at destination' option or Stop continuous Jobs before deployment.",
"FailedToFetchKuduAppSettings": "Failed to fetch Kudu App Settings. Error: %s",
"FailedToCreatePath": "Failed to create path '%s' from Kudu. Error: %s",
"FailedToDeleteFile": "Failed to delete file '%s/%s' from Kudu. Error: %s",
"FailedToDeleteFolder": "Failed to delete folder '%s' from Kudu. Error: %s",
"FailedToUploadFile": "Failed to upload file '%s/%s' from Kudu. Error: %s",
"FailedToGetFileContent": "Failed to get file content '%s/%s' from Kudu. Error: %s",
"FailedToListPath": "Failed to list path '%s' from Kudu. Error: %s",
"RetryToDeploy": "Retrying to deploy the package.",
"FailedToGetAppServiceDetails": "Failed to fetch App Service '%s' details. Error: %s",
"FailedToGetAppServicePublishingProfile": "Failed to fetch App Service '%s' publishing profile. Error: %s",
"FailedToUpdateAppServiceMetadata": "Failed to update App service '%s' Meta data. Error: %s",
"FailedToGetAppServiceMetadata": "Failed to get App service '%s' Meta data. Error: %s",
"FailedToPatchAppServiceConfiguration": "Failed to patch App Service '%s' configuration. Error: %s",
"FailedToUpdateAppServiceConfiguration": "Failed to update App service '%s' configuration. Error: %s",
"FailedToGetAppServiceConfiguration": "Failed to get App service '%s' configuration. Error: %s",
"FailedToGetAppServicePublishingCredentials": "Failed to fetch App Service '%s' publishing credentials. Error: %s",
"FailedToGetAppServiceApplicationSettings": "Failed to get App service '%s' application settings. Error: %s",
"FailedToUpdateAppServiceApplicationSettings": "Failed to update App service '%s' application settings. Error: %s",
"UpdatingAppServiceConfigurationSettings": "Trying to update App Service Configuration settings. Data: %s",
"UpdatedAppServiceConfigurationSettings": "Updated App Service Configuration settings.",
"UpdatingAppServiceApplicationSettings": "Trying to update App Service Application settings. Data: %s",
"AppServiceApplicationSettingsAlreadyPresent": "App Service Application settings are already present.",
"AppServiceConnectionStringsAlreadyPresent": "App Service Connection Strings are already present.",
"UpdatedAppServiceApplicationSettings": "Updated App Service Application settings and Kudu Application settings.",
"MultipleResourceGroupFoundForAppService": "Multiple resource group found for App Service '%s'.",
"PackageDeploymentUsingZipDeployFailed": "Package deployment using ZIP Deploy failed. Refer logs for more details.",
"PackageDeploymentInitiated": "Package deployment using ZIP Deploy initiated.",
"PackageDeploymentInitiatedWithOneDeploy": "Package deployment using One Deploy initiated.",
"OneDeployWithIncrementalDeploymentOption": "Deploying using incremental deployment.",
"WarPackageDeploymentInitiated": "Package deployment using WAR Deploy initiated.",
"FailedToGetDeploymentLogs": "Failed to get deployment logs. Error: %s",
"GoExeNameNotPresent": "Go exe name is not present",
"WarDeploymentRetry": "Retrying war file deployment as it did not expand successfully earlier.",
"Updatemachinetoenablesecuretlsprotocol": "Make sure the machine is using TLS 1.2 protocol or higher. Check https://aka.ms/enableTlsv2 for more information on how to enable TLS in your machine.",
"CouldNotFetchAccessTokenforAzureStatusCode": "Could not fetch access token for Azure. Status code: %s, status message: %s",
"CouldNotFetchAccessTokenforMSIDueToMSINotConfiguredProperlyStatusCode": "Could not fetch access token for Managed Service Principal. Please configure Managed Service Identity (MSI) for virtual machine 'https://aka.ms/azure-msi-docs'. Status code: %s, status message: %s",
"CouldNotFetchAccessTokenforMSIStatusCode": "Could not fetch access token for Managed Service Principal. Status code: %s, status message: %s",
"XmlParsingFailed": "Unable to parse publishProfileXML file, Error: %s",
"PropertyDoesntExistPublishProfile": "[%s] Property does not exist in publish profile",
"InvalidConnectionType": "Invalid service connection type",
"InvalidImageSourceType": "Invalid Image source Type",
"InvalidPublishProfile": "Publish profile file is invalid.",
"ASE_SSLIssueRecommendation": "To use a certificate in App Service, the certificate must be signed by a trusted certificate authority. If your web app gives you certificate validation errors, you're probably using a self-signed certificate and to resolve them you need to set a variable named VSTS_ARM_REST_IGNORE_SSL_ERRORS to the value true in the build or release pipeline",
"ZipDeployLogsURL": "Zip Deploy logs can be viewed at %s",
"DeployLogsURL": "Deploy logs can be viewed at %s",
"AppServiceApplicationURL": "App Service Application URL: %s",
"ASE_WebDeploySSLIssueRecommendation": "To use a certificate in App Service, the certificate must be signed by a trusted certificate authority. If your web app gives you certificate validation errors, you're probably using a self-signed certificate and to resolve them you need to pass -allowUntrusted in additional arguments of web deploy option.",
"FailedToGetResourceID": "Failed to get resource ID for resource type '%s' and resource name '%s'. Error: %s",
"JarPathNotPresent": "Java jar path is not present",
"FailedToUpdateApplicationInsightsResource": "Failed to update Application Insights '%s' Resource. Error: %s",
"RunFromZipPreventsFileInUseError": "Move from Web Deploy to RunFrom Package, which helps in avoiding FILE_IN_USE error. Note that Run From Package does not support msBuild package type. Please change your package format to use this deployment method.",
"MSDeployNotSupportTokenAuth": "App Service is configured to not use basic authentication. This requires Web Deploy msdeploy.exe version 7.1.7225 or higher. You need a version of Visual Studio that includes an updated version of msdeploy.exe. For more information, visit https://aka.ms/azdo-webapp-msdeploy .",
"RunFromPackageAppsetting": "NOTE: Run From Package makes wwwroot read-only, so you will receive an error when writing files to this directory."
}
}