diff --git a/azure-pipelines.yml b/azure-pipelines.yml
new file mode 100644
index 00000000..20735b85
--- /dev/null
+++ b/azure-pipelines.yml
@@ -0,0 +1,128 @@
+stages:
+- stage: Build
+ jobs:
+ - job: Build
+ pool:
+ name: Azure Pipelines
+ demands:
+ - msbuild
+ - visualstudio
+ vmImage: 'windows-2022'
+ variables:
+ solution: '**\src\VSTSDemoGeneratorV2.sln'
+ artifactName: 'drop'
+ steps:
+ - task: NuGetToolInstaller@0
+ displayName: 'Use NuGet 5.11.0'
+ inputs:
+ versionSpec: 5.11.0
+ - task: NuGetCommand@2
+ displayName: 'NuGet restore'
+ inputs:
+ restoreSolution: '$(solution)'
+ - task: VSBuild@1
+ displayName: 'Build solution'
+ inputs:
+ solution: '$(solution)'
+ msbuildArgs: '/p:Configuration=Debug /p:Platform="Any CPU" /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"'
+ - task: CopyFiles@1
+ displayName: 'Copy Files to: $(build.sourcesdirectory)\src\VstsDemoBuilder\obj\Release\Package\PackageTmp'
+ inputs:
+ SourceFolder: '$(build.artifactstagingdirectory)\'
+ Contents: '**\*'
+ TargetFolder: '$(build.sourcesdirectory)\Artifacts'
+ - task: PublishBuildArtifacts@1
+ displayName: 'Publish Artifact'
+ inputs:
+ PathtoPublish: '$(build.sourcesdirectory)\Artifacts'
+ ArtifactName: '$(artifactName)'
+
+- stage: Staging
+ condition: and(succeeded(), or(eq(variables['Build.Reason'], 'IndividualCI'), eq(variables['Build.Reason'], 'PullRequest')))
+ dependsOn: Build
+ displayName: Staging Deployment
+ jobs:
+ - deployment: Staging
+ environment: 'Staging'
+ pool:
+ vmImage: 'windows-2022'
+ strategy:
+ runOnce:
+ deploy:
+ steps:
+ - task: DownloadBuildArtifacts@0
+ displayName: 'Download Build Artifacts'
+ inputs:
+ buildType: 'current'
+ downloadType: 'single'
+ artifactName: 'drop'
+ downloadPath: '$(System.DefaultWorkingDirectory)'
+ - task: AzureRmWebAppDeployment@4
+ inputs:
+ ConnectionType: 'AzureRM'
+ azureSubscription: 'AzureDevOpsDemoGenProd'
+ appType: 'webApp'
+ WebAppName: 'azuredevopsdemogenerator'
+ deployToSlotOrASE: true
+ ResourceGroupName: 'azuredevopsdemogenerator-production-group'
+ SlotName: 'staging'
+ package: '$(System.DefaultWorkingDirectory)/**/*.zip'
+ AppSettings: '-DefaultTemplate eShopOnWeb -Password $(Password) -ClientId $(ClientId-stage) -ClientSecret $(ClientSecret-stage) -RedirectUri $(RedirectUri-stage) -AppScope $(AppScope-stage)'
+ enableCustomDeployment: true
+ DeploymentType: 'webDeploy'
+
+- stage: Preprod
+ condition: and(succeeded(), eq(variables['Build.Reason'], 'Manual'))
+ dependsOn: Build
+ displayName: Preprod Deployment
+ jobs:
+ - deployment: Preprod
+ environment: 'Preprod'
+ pool:
+ vmImage: 'windows-2022'
+ strategy:
+ runOnce:
+ deploy:
+ steps:
+ - task: DownloadBuildArtifacts@0
+ displayName: 'Download Build Artifacts'
+ inputs:
+ buildType: 'current'
+ downloadType: 'single'
+ artifactName: 'drop'
+ downloadPath: '$(System.DefaultWorkingDirectory)'
+ - task: AzureRmWebAppDeployment@4
+ inputs:
+ ConnectionType: 'AzureRM'
+ azureSubscription: 'AzureDevOpsDemoGenProd'
+ appType: 'webApp'
+ WebAppName: 'azuredevopsdemogenerator'
+ deployToSlotOrASE: true
+ ResourceGroupName: 'azuredevopsdemogenerator-production-group'
+ SlotName: 'preprod'
+ package: '$(System.DefaultWorkingDirectory)/**/*.zip'
+ AppSettings: '-DefaultTemplate eShopOnWeb -Password $(Password) -ClientId $(ClientId-preprod) -ClientSecret $(ClientSecret-preprod) -RedirectUri $(RedirectUri-preprod) -AppScope $(AppScope-preprod)'
+ enableCustomDeployment: true
+ DeploymentType: 'webDeploy'
+
+- stage: Prod
+ condition: and(succeeded(), eq(variables['Build.Reason'], 'Manual'))
+ dependsOn: Preprod
+ displayName: Prod Deployment
+ jobs:
+ - deployment: Prod
+ environment: 'Prod'
+ pool:
+ vmImage: 'windows-2022'
+ strategy:
+ runOnce:
+ deploy:
+ steps:
+ - task: AzureAppServiceManage@0
+ displayName: App Service Manage
+ inputs:
+ azureSubscription: 'AzureDevOpsDemoGenProd'
+ Action: 'Swap Slots'
+ WebAppName: 'azuredevopsdemogenerator'
+ ResourceGroupName: 'azuredevopsdemogenerator-production-group'
+ SourceSlot: 'preprod'
\ No newline at end of file
diff --git a/src/VstsDemoBuilder/ApplicationInsights.config b/src/VstsDemoBuilder/ApplicationInsights.config
index 44eddd1a..f87c7795 100644
--- a/src/VstsDemoBuilder/ApplicationInsights.config
+++ b/src/VstsDemoBuilder/ApplicationInsights.config
@@ -1,8 +1,43 @@
7f2c2d9c-82b6-4c29-a5ec-55dc332f3f7a
+
+
+
+
+
+
+
+
+ search|spider|crawl|Bot|Monitor|AlwaysOn
+
+
+
+
+
+
+
+
+
-
+
+
+
+ core.windows.net
+ core.chinacloudapi.cn
+ core.cloudapi.de
+ core.usgovcloudapi.net
+
+
+ Microsoft.Azure.EventHubs
+ Microsoft.Azure.ServiceBus
+
+
+
+
+
+
-
+
+
+
- System.Web.Handlers.TransferRequestHandler
Microsoft.VisualStudio.Web.PageInspector.Runtime.Tracing.RequestDataHttpHandler
System.Web.StaticFileHandler
System.Web.Handlers.AssemblyResourceLoader
@@ -49,38 +112,30 @@
+
-
-
-
- 5
+
+
+
+
+
+
+
+ 5
+ Event
+
+
+ 5
+ Event
+
+
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/VstsDemoBuilder/Views/Account/Verify.cshtml b/src/VstsDemoBuilder/Views/Account/Verify.cshtml
index 4aa7e1b5..ee92a429 100644
--- a/src/VstsDemoBuilder/Views/Account/Verify.cshtml
+++ b/src/VstsDemoBuilder/Views/Account/Verify.cshtml
@@ -38,9 +38,10 @@
The purpose of this system is to simplify working with the Azure Devops hands-on-labs , demos and other education material provided by the Microsoft Azure Marketing team.
-
-
Sign In
+
+
Starting February 28, 2025 , we are eliminating the need for us to authenticate on your behalf. Instead you will have access to an executable (.exe) file to create projects. The application is available now and you can learn how to run it in the AzDevOpsDemoGenerator repo . If you encounter any issues, please let us know by creating an issue here
+
Don’t have an Azure DevOps Organization?
- Developed by Canarys Automations Pvt Ltd
+ Developed by Canarys Automations Ltd
diff --git a/src/VstsDemoBuilder/Views/Environment/CreateProject.cshtml b/src/VstsDemoBuilder/Views/Environment/CreateProject.cshtml
index d3b660b3..2ae6d3e5 100644
--- a/src/VstsDemoBuilder/Views/Environment/CreateProject.cshtml
+++ b/src/VstsDemoBuilder/Views/Environment/CreateProject.cshtml
@@ -137,7 +137,7 @@
@@ -157,7 +157,9 @@
@ViewBag.ErrorMessage
}
-
+
+
Starting February 28, 2025 , we are eliminating the need for us to authenticate on your behalf. Instead you will have access to an executable (.exe) file to create projects. The application is available now and you can learn how to run it in the AzDevOpsDemoGenerator repo . If you encounter any issues, please let us know by creating an issue here
+
-
+
+ If you're using brand new organization
- If you're using brand new organization, please enable the creation of classic build and relase pipeline by disabling the following flag under Organization Settings >> Pipelines >> Settings here.
- We are working on migrating the classic pipelines to YAML.
+ 1. Enable the Creation of classic build and release pipeline by disabling the following flag under Organization Settings >> Pipelines >> Settings here.
+ 2. Enable Third-party Authentication via OAuth option in the Organizations settings >> Policies
diff --git a/src/VstsDemoBuilder/VstsDemoBuilder.csproj b/src/VstsDemoBuilder/VstsDemoBuilder.csproj
index c3f07dc3..c0f8d68b 100644
--- a/src/VstsDemoBuilder/VstsDemoBuilder.csproj
+++ b/src/VstsDemoBuilder/VstsDemoBuilder.csproj
@@ -30,6 +30,8 @@
/subscriptions/f74e6a4f-08cd-4e93-968f-6618f41c4531/resourcegroups/Default-ApplicationInsights-EastUS/providers/microsoft.insights/components/VstsDemoBuilder
2.8
+
+
true
@@ -86,40 +88,67 @@
..\packages\LaunchDarkly.EventSource.3.1.5\lib\net45\LaunchDarkly.EventSource.dll
-
- ..\packages\log4net.2.0.12\lib\net45\log4net.dll
+
+ ..\packages\log4net.3.0.3\lib\net462\log4net.dll
..\packages\LowercaseRoutesMVC.1.0.3\lib\LowercaseRoutesMVC.dll
-
- ..\packages\Microsoft.ApplicationInsights.Agent.Intercept.1.2.1\lib\net45\Microsoft.AI.Agent.Intercept.dll
+
+ ..\packages\Microsoft.ApplicationInsights.Agent.Intercept.2.4.0\lib\net45\Microsoft.AI.Agent.Intercept.dll
-
- ..\packages\Microsoft.ApplicationInsights.DependencyCollector.2.1.0\lib\net45\Microsoft.AI.DependencyCollector.dll
+
+ ..\packages\Microsoft.ApplicationInsights.DependencyCollector.2.9.0\lib\net45\Microsoft.AI.DependencyCollector.dll
-
- ..\packages\Microsoft.ApplicationInsights.PerfCounterCollector.2.1.0\lib\net45\Microsoft.AI.PerfCounterCollector.dll
+
+ ..\packages\Microsoft.ApplicationInsights.PerfCounterCollector.2.9.0\lib\net45\Microsoft.AI.PerfCounterCollector.dll
-
- ..\packages\Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.2.1.0\lib\net45\Microsoft.AI.ServerTelemetryChannel.dll
+
+ ..\packages\Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.2.9.0\lib\net45\Microsoft.AI.ServerTelemetryChannel.dll
-
- ..\packages\Microsoft.ApplicationInsights.Web.2.1.0\lib\net45\Microsoft.AI.Web.dll
+
+ ..\packages\Microsoft.ApplicationInsights.Web.2.9.0\lib\net45\Microsoft.AI.Web.dll
-
- ..\packages\Microsoft.ApplicationInsights.WindowsServer.2.1.0\lib\net45\Microsoft.AI.WindowsServer.dll
+
+ ..\packages\Microsoft.ApplicationInsights.WindowsServer.2.9.0\lib\net45\Microsoft.AI.WindowsServer.dll
-
- ..\packages\Microsoft.ApplicationInsights.2.1.0\lib\net46\Microsoft.ApplicationInsights.dll
+
+ ..\packages\Microsoft.ApplicationInsights.2.22.0\lib\net46\Microsoft.ApplicationInsights.dll
+
+
+ ..\packages\Microsoft.AspNet.TelemetryCorrelation.1.0.5\lib\net45\Microsoft.AspNet.TelemetryCorrelation.dll
+
+
+ ..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll
+
+
+ ..\packages\Microsoft.Bcl.Memory.9.0.0\lib\net462\Microsoft.Bcl.Memory.dll
+
+
+ ..\packages\Microsoft.Bcl.TimeProvider.8.0.1\lib\net462\Microsoft.Bcl.TimeProvider.dll
+
+ ..\packages\Microsoft.Extensions.Logging.Abstractions.6.0.0\lib\net461\Microsoft.Extensions.Logging.Abstractions.dll
+
+
+ ..\packages\Microsoft.IdentityModel.Abstractions.8.3.1\lib\net462\Microsoft.IdentityModel.Abstractions.dll
+
..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.13.5\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.dll
..\packages\Microsoft.IdentityModel.Clients.ActiveDirectory.3.13.5\lib\net45\Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll
+
+ ..\packages\Microsoft.IdentityModel.JsonWebTokens.8.3.1\lib\net462\Microsoft.IdentityModel.JsonWebTokens.dll
+
+
+ ..\packages\Microsoft.IdentityModel.Logging.8.3.1\lib\net462\Microsoft.IdentityModel.Logging.dll
+
+
+ ..\packages\Microsoft.IdentityModel.Tokens.8.3.1\lib\net462\Microsoft.IdentityModel.Tokens.dll
+
..\packages\CommonServiceLocator.1.3\lib\portable-net4+sl5+netcore45+wpa81+wp8\Microsoft.Practices.ServiceLocation.dll
@@ -172,14 +201,17 @@
..\packages\System.AppContext.4.3.0\lib\net463\System.AppContext.dll
+
+ ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll
+
..\packages\System.Console.4.3.0\lib\net46\System.Console.dll
-
- ..\packages\System.Diagnostics.DiagnosticSource.4.0.0\lib\net46\System.Diagnostics.DiagnosticSource.dll
+
+ ..\packages\System.Diagnostics.DiagnosticSource.5.0.0\lib\net46\System.Diagnostics.DiagnosticSource.dll
..\packages\System.Diagnostics.Tracing.4.3.0\lib\net462\System.Diagnostics.Tracing.dll
@@ -188,8 +220,8 @@
..\packages\System.Globalization.Calendars.4.3.0\lib\net46\System.Globalization.Calendars.dll
-
- ..\packages\System.IdentityModel.Tokens.Jwt.4.0.2.206221351\lib\net45\System.IdentityModel.Tokens.Jwt.dll
+
+ ..\packages\System.IdentityModel.Tokens.Jwt.8.3.1\lib\net462\System.IdentityModel.Tokens.Jwt.dll
..\packages\System.IO.4.3.0\lib\net462\System.IO.dll
@@ -213,6 +245,10 @@
..\packages\System.Linq.Expressions.4.3.0\lib\net463\System.Linq.Expressions.dll
+
+
+ ..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll
+
..\packages\System.Net.Http.4.3.4\lib\net46\System.Net.Http.dll
@@ -231,14 +267,18 @@
..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll
+
+ ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll
+
..\packages\System.Reflection.4.3.0\lib\net462\System.Reflection.dll
..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll
-
- ..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll
+
+
+ ..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll
..\packages\System.Runtime.Extensions.4.3.0\lib\net462\System.Runtime.Extensions.dll
@@ -269,9 +309,21 @@
..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll
+
+ ..\packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll
+
+
+ ..\packages\System.Text.Json.8.0.5\lib\net462\System.Text.Json.dll
+
..\packages\System.Text.RegularExpressions.4.3.0\lib\net463\System.Text.RegularExpressions.dll
+
+ ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll
+
+
+ ..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll
+
@@ -2200,6 +2252,23 @@
+
+
+
+ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
-
-
+
+
+
+
@@ -140,160 +140,160 @@
-
-
-
-
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
@@ -301,29 +301,26 @@
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
diff --git a/src/VstsDemoBuilder/packages.config b/src/VstsDemoBuilder/packages.config
index 2a403ac5..22e9cde6 100644
--- a/src/VstsDemoBuilder/packages.config
+++ b/src/VstsDemoBuilder/packages.config
@@ -12,19 +12,20 @@
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
@@ -32,9 +33,17 @@
+
+
+
+
+
+
+
+
@@ -49,18 +58,19 @@
+
-
+
-
+
@@ -68,17 +78,19 @@
+
+
-
+
@@ -93,10 +105,14 @@
+
+
+
+
diff --git a/src/VstsRestAPI/VstsRestAPI.csproj b/src/VstsRestAPI/VstsRestAPI.csproj
index a9201fe8..2cba2f42 100644
--- a/src/VstsRestAPI/VstsRestAPI.csproj
+++ b/src/VstsRestAPI/VstsRestAPI.csproj
@@ -35,8 +35,8 @@
4
-
- ..\packages\log4net.2.0.12\lib\net45\log4net.dll
+
+ ..\packages\log4net.3.0.3\lib\net462\log4net.dll
..\packages\Microsoft.Win32.Primitives.4.3.0\lib\net46\Microsoft.Win32.Primitives.dll
diff --git a/src/VstsRestAPI/packages.config b/src/VstsRestAPI/packages.config
index f04eb158..def1cc19 100644
--- a/src/VstsRestAPI/packages.config
+++ b/src/VstsRestAPI/packages.config
@@ -1,6 +1,6 @@
-
+