Skip to content

Instantly share code, notes, and snippets.

@MarcusFelling
Created November 23, 2017 15:35
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save MarcusFelling/15a369d8503f249ef7719c2de1ad6207 to your computer and use it in GitHub Desktop.
Save MarcusFelling/15a369d8503f249ef7719c2de1ad6207 to your computer and use it in GitHub Desktop.
Example VSTS YAML build with 5 phases
phases:
- phase: CD
queue: LEP
steps:
- task: PowerShell@1
displayName: ExtConfigs_PreBuild.ps1
inputs:
scriptType: filePath
scriptName: "$(repo.BuildScripts)/ExtConfigs_PreBuild.ps1"
arguments: ''
- task: PowerShell@1
displayName: ListVariables.ps1
inputs:
scriptType: filePath
scriptName: "$(repo.BuildScripts)/ListVariables.ps1"
arguments: ''
- task: PowerShell@1
displayName: ApplyVersionToAssemblies.ps1
inputs:
scriptType: filePath
scriptName: "$(repo.BuildScripts)/ApplyVersionToAssemblies.ps1"
arguments: ''
- task: NugetRestore@2
displayName: NuGet restore
inputs:
command: restore
solution: "**/*.sln"
searchPatternPush: "$(Build.ArtifactStagingDirectory)/*.nupkg"
nuGetFeedType: internal
feedPublish: ''
allowPackageConflicts: 'false'
externalEndpoint: ''
searchPatternPack: "**/*.csproj"
configurationToPack: "$(BuildConfiguration)"
outputDir: "$(Build.ArtifactStagingDirectory)"
arguments: ''
selectOrConfig: select
feedRestore:
includeNuGetOrg: 'true'
nugetConfigPath: ''
externalEndpoints: ''
noCache: 'true'
packagesDirectory: ''
verbosityRestore: Detailed
verbosityPush: Detailed
versioningScheme: 'off'
includeReferencedProjects: 'false'
versionEnvVar: ''
requestedMajorVersion: '1'
requestedMinorVersion: '0'
requestedPatchVersion: '0'
packTimezone: utc
includeSymbols: 'false'
buildProperties: ''
verbosityPack: Detailed
- task: VSBuild@1
displayName: Build solution CompanyName.LEP.ContentDelivery.sln
inputs:
solution: "$(repo.)/CompanyName.LEP.ContentDelivery/CompanyName.LEP.ContentDelivery.sln"
vsVersion: '15.0'
msbuildArgs: "/p:OutDir=$(Build.StagingDirectory) /p:LEPloyOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true"
: Any CPU
configuration: Release
clean: 'false'
maximumCpuCount: 'false'
restoreNugetPackages: 'false'
msbuildArchitecture: x86
logProjectEvents: 'true'
createLogFile: 'false'
- task: VSTest@2
displayName: Test Assemblies CompanyName.LEP.ContentDelivery
inputs:
testSelector: testAssemblies
testAssemblyVer2: "**\\*test*.dll\n!**\\obj\\**"
testPlan: ''
testSuite: ''
testConfiguration: ''
tcmTestRun: "$(test.RunId)"
searchFolder: "$(Build.StagingDirectory)"
testFiltercriteria: TestCategory!=Database&TestCategory!=Integration
runOnlyImpactedTests: 'false'
runAllTestsAfterXBuilds: '50'
uiTests: 'false'
vstestLocationMethod: version
vsTestVersion: latest
vstestLocation: ''
runSettingsFile: "$(repo.)/CompanyName.LEP.ContentDelivery/CompanyName.LEP.ContentDelivery.runsettings"
overrideTestrunParameters: ''
pathtoCustomTestAdapters: ''
runInParallel: 'false'
runTestsInIsolation: 'false'
codeCoverageEnabled: 'true'
otherConsoleOptions: ''
distributionBatchType: basedOnTestCases
batchingBasedOnAgentsOption: autoBatchSize
customBatchSizeValue: '10'
batchingBasedOnExecutionTimeOption: autoBatchSize
customRunTimePerBatchValue: '60'
dontDistribute: 'false'
testRunTitle: CompanyName.LEP.ContentDelivery Tests w Runsettings
: Any CPU
configuration: Release
publishRunAttachments: 'true'
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.StagingDirectory)/CompanyName.LEP.ContentDelivery.Web.Host'
inputs:
SourceFolder: "$(repo.)/CompanyName.LEP.ContentDelivery/CompanyName.LEP.ContentDelivery.Web.Host"
Contents: Web.token.config
TargetFolder: "$(Build.StagingDirectory)/CompanyName.LEP.ContentDelivery.Web.Host"
CleanTargetFolder: 'false'
OverWrite: 'false'
flattenFolders: 'false'
- task: CopyPublishBuildArtifacts@1
displayName: 'Copy Publish Artifact: $(artifactName.ContentDelivery)'
inputs:
CopyRoot: "$(Build.StagingDirectory)"
Contents: "**\\*"
ArtifactName: "$(artifactName.ContentDelivery)"
ArtifactType: FilePath
TargetPath: "\\\\$(Agent.Machinename)\\_drop\\$(octo.PackagePrefix)\\$(Build.BuildId)"
- task: OctopusPack@2
displayName: Package $(octo.PackagePrefix)$(artifactName.ContentDelivery)
inputs:
PackageId: "$(octo.PackagePrefix)$(artifactName.ContentDelivery)"
PackageFormat: NuPkg
PackageVersion: "$(Version)"
SourcePath: "\\\\$(Agent.Machinename)\\_drop\\$(octo.PackagePrefix)\\$(Build.BuildId)\\$(artifactName.ContentDelivery)"
OutputPath: "\\\\$(Agent.Machinename)\\_packages"
Overwrite: 'false'
ListFiles: 'false'
- task: OctopusPush@2
displayName: Push Packages to Octopus
inputs:
OctoConnectedServiceName:
Package: "\\\\$(Agent.Machinename)\\_packages\\$(octo.PackagePrefix)$(artifactName.ContentDelivery).$(Version).nupkg"
Replace: 'False'
- phase: Bus
queue: LEP
steps:
- task: PowerShell@1
displayName: ExtConfigs_PreBuild.ps1
inputs:
scriptType: filePath
scriptName: "$(repo.BuildScripts)/ExtConfigs_PreBuild.ps1"
arguments: ''
- task: PowerShell@1
displayName: ListVariables.ps1
inputs:
scriptType: filePath
scriptName: "$(repo.BuildScripts)/ListVariables.ps1"
arguments: ''
- task: PowerShell@1
displayName: ApplyVersionToAssemblies.ps1
inputs:
scriptType: filePath
scriptName: "$(repo.BuildScripts)/ApplyVersionToAssemblies.ps1"
arguments: ''
- task: NugetRestore@2
displayName: NuGet restore
inputs:
command: restore
solution: "**/*.sln"
searchPatternPush: "$(Build.ArtifactStagingDirectory)/*.nupkg"
nuGetFeedType: internal
feedPublish: ''
allowPackageConflicts: 'false'
externalEndpoint: ''
searchPatternPack: "**/*.csproj"
configurationToPack: "$(BuildConfiguration)"
outputDir: "$(Build.ArtifactStagingDirectory)"
arguments: ''
selectOrConfig: select
feedRestore:
includeNuGetOrg: 'true'
nugetConfigPath: ''
externalEndpoints: ''
noCache: 'true'
packagesDirectory: ''
verbosityRestore: Detailed
verbosityPush: Detailed
versioningScheme: 'off'
includeReferencedProjects: 'false'
versionEnvVar: ''
requestedMajorVersion: '1'
requestedMinorVersion: '0'
requestedPatchVersion: '0'
packTimezone: utc
includeSymbols: 'false'
buildProperties: ''
verbosityPack: Detailed
- task: VSBuild@1
displayName: Build solution CompanyName.LEP.ServiceBus.sln
inputs:
solution: "$(repo.)/CompanyName.LEP.ServiceBus/CompanyName.LEP.ServiceBus.sln"
vsVersion: '15.0'
msbuildArgs: "/p:OutDir=$(Build.StagingDirectory) /p:LEPloyOnBuild=true /p:WebPublishMethod=Package
/p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true"
: Any CPU
configuration: Release
clean: 'false'
maximumCpuCount: 'false'
restoreNugetPackages: 'false'
msbuildArchitecture: x86
logProjectEvents: 'true'
createLogFile: 'false'
- task: VSTest@2
displayName: Test Assemblies CompanyName.LEP.ServiceBus
inputs:
testSelector: testAssemblies
testAssemblyVer2: "**\\*test*.dll\n!**\\obj\\**"
testPlan: ''
testSuite: ''
testConfiguration: ''
tcmTestRun: "$(test.RunId)"
searchFolder: "$(Build.StagingDirectory)"
testFiltercriteria: TestCategory!=Database&TestCategory!=Integration
runOnlyImpactedTests: 'false'
runAllTestsAfterXBuilds: '50'
uiTests: 'false'
vstestLocationMethod: version
vsTestVersion: latest
vstestLocation: ''
runSettingsFile: ''
overrideTestrunParameters: ''
runInParallel: 'false'
runTestsInIsolation: 'false'
pathtoCustomTestAdapters: ''
codeCoverageEnabled: 'true'
otherConsoleOptions: ''
testRunTitle: CompanyName.LEP.ServiceBus Tests
: Any CPU
configuration: Release
publishRunAttachments: 'true'
- task: PowerShell@1
displayName: BUS_MoveServiceBus_PostBuild.ps1
inputs:
scriptType: filePath
scriptName: "$(repo.BuildScripts)/BUS_MoveServiceBus_PostBuild.ps1"
arguments: -SourceDirectory "$(Build.StagingDirectory)"
- task: CopyFiles@2
displayName: 'Copy Files to: CompanyName.LEP.Service.Host'
inputs:
SourceFolder: "$(repo.)/CompanyName.LEP/CompanyName.LEP.Service.Host"
Contents: Web.token.config
TargetFolder: "$(Build.StagingDirectory)/CompanyName.LEP.Service.Host"
CleanTargetFolder: 'false'
OverWrite: 'false'
flattenFolders: 'false'
- task: PowerShell@1
displayName: BUS_CopyNeuron_Source.ps1
inputs:
scriptType: filePath
scriptName: "$(repo.BuildScripts)/BUS_CopyNeuron_Source.ps1"
arguments: -SourceDirectory "$(Build.SourcesDirectory)\$(map.)\CompanyName.LEP.ServiceBus\CompanyName.LEP.Neuron" -TargetDirectory "$(Build.StagingDirectory)"
- task: CopyPublishBuildArtifacts@1
displayName: 'Copy Publish Artifact: $(artifactName.ServiceBus)'
inputs:
CopyRoot: "$(Build.StagingDirectory)"
Contents: "**\\*"
ArtifactName: "$(artifactName.ServiceBus)"
ArtifactType: FilePath
TargetPath: "\\\\$(Agent.Machinename)\\_drop\\$(octo.PackagePrefix)\\$(Build.BuildId)"
- task: MSBuild@1
displayName: Build CompanyName.LEP.Service.Host.csproj
inputs:
solution: $(Build.SourcesDirectory)\$(map.)\CompanyName.LEP\CompanyName.LEP.Service.Host\CompanyName.LEP.Service.Host.csproj
msbuildLocationMethod: version
msbuildVersion: '15.0'
msbuildArchitecture: x64
: AnyCPU
configuration: "Release"
msbuildArguments: /nologo /noconsolelogger /nr:False /fl /flp:logfile="\\$(Agent.Machinename)\_drop\$(octo.PackagePrefix)\$(Build.BuildId)\-Bus\CompanyName.LEP.Service.Host.log;encoding=Unicode;verbosity=normal" /p:LEPloyOnBuild=True /p:LEPloyTarget=Package /p:AllowUntrustedCertificate=True /p:UseWPP_CopyWebApplication=true /p:PipelineLEPendsOnBuild=false /p:LEPloyIisAppPath=CompanyName.LEP.Service.Host /p:OutDir="\\$(Agent.Machinename)\_drop\$(octo.PackagePrefix)\$(Build.BuildId)\-Bus\WebProjects"
clean: 'false'
maximumCpuCount: 'false'
- task: OctopusPack@2
displayName: Package
inputs:
PackageId: "$(octo.PackagePrefix)$(artifactName.ServiceBus)"
PackageFormat: NuPkg
PackageVersion: "$(Version)"
SourcePath: "\\\\$(Agent.Machinename)\\_drop\\$(octo.PackagePrefix)\\$(Build.BuildId)\\$(artifactName.ServiceBus)"
OutputPath: "\\\\$(Agent.Machinename)\\_packages"
NuGetAuthor: ''
NuGetTitle: ''
NuGetDescription: ''
NuGetReleaseNotes: ''
NuGetReleaseNotesFile: ''
Include: ''
Overwrite: 'false'
ListFiles: 'false'
- task: OctopusPush@2
displayName: Push Packages to Octopus
inputs:
OctoConnectedServiceName:
Package: "\\\\$(Agent.Machinename)\\_packages\\$(octo.PackagePrefix)$(artifactName.ServiceBus).$(Version).nupkg"
Replace: 'true'
- phase: Etl
queue: LEP
steps:
- task: PowerShell@1
displayName: ExtConfigs_PreBuild.ps1
inputs:
scriptType: filePath
scriptName: "$(repo.BuildScripts)/ExtConfigs_PreBuild.ps1"
arguments: ''
- task: PowerShell@1
displayName: ListVariables.ps1
inputs:
scriptType: filePath
scriptName: "$(repo.BuildScripts)/ListVariables.ps1"
arguments: ''
- task: PowerShell@1
displayName: ApplyVersionToAssemblies.ps1
inputs:
scriptType: filePath
scriptName: "$(repo.BuildScripts)/ApplyVersionToAssemblies.ps1"
arguments: ''
- task: NugetRestore@2
displayName: NuGet restore
inputs:
command: restore
solution: "**/*.sln"
searchPatternPush: "$(Build.ArtifactStagingDirectory)/*.nupkg"
nuGetFeedType: internal
feedPublish: ''
allowPackageConflicts: 'false'
externalEndpoint: ''
searchPatternPack: "**/*.csproj"
configurationToPack: "$(BuildConfiguration)"
outputDir: "$(Build.ArtifactStagingDirectory)"
arguments: ''
selectOrConfig: select
feedRestore:
includeNuGetOrg: 'true'
nugetConfigPath: ''
externalEndpoints: ''
noCache: 'true'
packagesDirectory: ''
verbosityRestore: Detailed
verbosityPush: Detailed
versioningScheme: 'off'
includeReferencedProjects: 'false'
versionEnvVar: ''
requestedMajorVersion: '1'
requestedMinorVersion: '0'
requestedPatchVersion: '0'
packTimezone: utc
includeSymbols: 'false'
buildProperties: ''
verbosityPack: Detailed
- task: VSBuild@1
displayName: Build solution CompanyName.LEP.Etl.sln
inputs:
solution: "$(repo.)/CompanyName.LEP.Etl/CompanyName.LEP.Etl.sln"
vsVersion: '15.0'
msbuildArgs: "/p:OutDir=$(Build.StagingDirectory) /p:LEPloyOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:CmdLineInMemoryStorage=true"
: Any CPU
configuration: "$(configuration.Etl)"
clean: 'false'
maximumCpuCount: 'false'
restoreNugetPackages: 'false'
msbuildArchitecture: x86
logProjectEvents: 'true'
createLogFile: 'false'
- task: VSBuild@1
displayName: Build solution CompanyName.LEP.Etl.Host.csproj
inputs:
solution: "$(repo.)/CompanyName.LEP.Etl/CompanyName.LEP.Etl.Host/CompanyName.LEP.Etl.Host.csproj"
vsVersion: '15.0'
msbuildArgs: /p:OutDir=$(Build.StagingDirectory) /p:LEPloyOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PublishProfile="$(Build.SourcesDirectory)\$(map.)\CompanyName.LEP.Etl\CompanyName.LEP.Etl.Host\Properties\PublishProfiles\CompanyName_Build.pubxml"
: AnyCPU
configuration: "$(configuration.Etl)"
clean: 'false'
maximumCpuCount: 'false'
restoreNugetPackages: 'false'
msbuildArchitecture: x86
logProjectEvents: 'true'
createLogFile: 'false'
- task: VSTest@2
displayName: Test Assemblies CompanyName.LEP.Etl
inputs:
testSelector: testAssemblies
testAssemblyVer2: "**\\*test*.dll\n!**\\obj\\**"
testPlan: ''
testSuite: ''
testConfiguration: ''
tcmTestRun: "$(test.RunId)"
searchFolder: "$(Build.StagingDirectory)"
testFiltercriteria: TestCategory!=Database&TestCategory!=Integration
runOnlyImpactedTests: 'false'
runAllTestsAfterXBuilds: '50'
uiTests: 'false'
vstestLocationMethod: version
vsTestVersion: latest
vstestLocation: ''
runSettingsFile: "$(repo.)/CompanyName.LEP.Etl/CompanyName.LEP.Etl.runsettings"
overrideTestrunParameters: ''
pathtoCustomTestAdapters: ''
runInParallel: 'false'
runTestsInIsolation: 'false'
codeCoverageEnabled: 'true'
otherConsoleOptions: ''
distributionBatchType: basedOnTestCases
batchingBasedOnAgentsOption: autoBatchSize
customBatchSizeValue: '10'
batchingBasedOnExecutionTimeOption: autoBatchSize
customRunTimePerBatchValue: '60'
dontDistribute: 'false'
testRunTitle: CompanyName.LEP.Etl Tests w Runsettings
: Any CPU
configuration: "$(configuration.Etl)"
publishRunAttachments: 'true'
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.StagingDirectory)/CompanyName.LEP.Etl.Host'
inputs:
sourceFolder: "$(repo.)/CompanyName.LEP.Etl/CompanyName.LEP.Etl.Host"
contents: Web.token.config
targetFolder: "$(Build.StagingDirectory)/CompanyName.LEP.Etl.Host"
cleanTargetFolder: 'false'
overWrite: 'false'
flattenFolders: 'false'
- task: CopyFiles@2
displayName: Copy sql_agent_jobs to staging dir
inputs:
sourceFolder: "$(repo.)/CompanyName.LEP.Etl/Database/sql_agent_jobs"
contents: "**"
targetFolder: "$(Build.StagingDirectory)/sql_agent_jobs"
cleanTargetFolder: 'false'
overWrite: 'false'
flattenFolders: 'false'
- task: PowerShell@1
displayName: SSIS_CreateSsisFolder.ps1
inputs:
scriptType: filePath
scriptName: "$(repo.BuildScripts)/SSIS_CreateSsisFolder.ps1"
arguments: ''
workingFolder: ''
failOnStandardError: 'true'
- task: MSBuild@1
displayName: Build CompanyName.LEP.Etl.Ssis.dtproj
inputs:
solution: "$(repo.BuildScripts)/SsisBuildDtproj_15.0.proj"
msbuildLocationMethod: version
msbuildVersion: '14.0'
msbuildArchitecture: x86
msbuildLocation: ''
: x86
configuration: "$(configuration.Etl)"
msbuildArguments: /p:SSISProject=$(Build.SourcesDirectory)\$(map.)\$(map.Etl)\CompanyName.LEP.Etl.Ssis\CompanyName.LEP.Etl.Ssis.dtproj /fl /flp:logfile="$(Build.StagingDirectory)\SSIS\CompanyName.LEP.Etl.Ssis.txt" /v:normal /p:CmdLineInMemoryStorage=true
clean: 'false'
maximumCpuCount: 'false'
restoreNugetPackages: 'false'
logProjectEvents: 'false'
createLogFile: 'false'
- task: PowerShell@1
displayName: SSIS_RenameIspac_Copy.ps1 CompanyName.LEP.Etl.Ssis.ispac
inputs:
scriptType: filePath
scriptName: "$(repo.BuildScripts)/SSIS_RenameIspac_Copy.ps1"
arguments: -SourceRoot "$(Build.SourcesDirectory)\$(map.)\$(map.Etl)" -binSub "bin\$(configuration.Etl)" -ProjectName "CompanyName.LEP.Etl.Ssis" -OutFile "CompanyName.LEP.Etl.ispac" -TargetFolder "$(Build.StagingDirectory)\SSIS"
- task: MSBuild@1
displayName: Build CompanyName.LEP.Etl.Ssis.Cdi.dtproj
inputs:
solution: "$(repo.BuildScripts)/SsisBuildDtproj_15.0.proj"
msbuildLocationMethod: version
msbuildVersion: '14.0'
msbuildArchitecture: x86
msbuildLocation: ''
: x86
configuration: "$(configuration.Etl)"
msbuildArguments: /p:SSISProject=$(Build.SourcesDirectory)\$(map.)\$(map.Etl)\CompanyName.LEP.Etl.Ssis.Cdi/CompanyName.LEP.Etl.Ssis.Cdi.dtproj /fl /flp:logfile="$(Build.StagingDirectory)\SSIS\CompanyName.LEP.Etl.Ssis.Cdi.txt" /v:normal /p:CmdLineInMemoryStorage=true
clean: 'false'
maximumCpuCount: 'true'
restoreNugetPackages: 'false'
logProjectEvents: 'false'
createLogFile: 'false'
- task: PowerShell@1
displayName: SSIS_RenameIspac_Copy.ps1 CompanyName.LEP.Etl.Ssis.Cdi.ispac
inputs:
scriptType: filePath
scriptName: "$(repo.BuildScripts)/SSIS_RenameIspac_Copy.ps1"
arguments: -SourceRoot "$(Build.SourcesDirectory)\$(map.)\$(map.Etl)" -binSub "bin\$(configuration.Etl)" -ProjectName "CompanyName.LEP.Etl.Ssis.Cdi" "CompanyName.LEP.Etl.Ssis.ispac" -TargetFolder "$(Build.StagingDirectory)\SSIS"
- task: MSBuild@1
displayName: Build CompanyName.LEP.Etl.Ssis.DataMigration.dtproj
inputs:
solution: "$(repo.BuildScripts)/SsisBuildDtproj_15.0.proj"
msbuildLocationMethod: version
msbuildVersion: '14.0'
msbuildArchitecture: x86
msbuildLocation: ''
: x86
configuration: "$(configuration.Etl)"
msbuildArguments: /p:SSISProject=$(Build.SourcesDirectory)\$(map.)\$(map.Etl)\CompanyName.LEP.Etl.Ssis.DataMigration/CompanyName.LEP.Etl.Ssis.DataMigration.dtproj /fl /flp:logfile="$(Build.StagingDirectory)\SSIS\CompanyName.LEP.Etl.Ssis.DataMigration.txt" /v:normal /p:CmdLineInMemoryStorage=true
clean: 'false'
maximumCpuCount: 'false'
restoreNugetPackages: 'false'
logProjectEvents: 'false'
createLogFile: 'false'
- task: PowerShell@1
displayName: SSIS_RenameIspac_Copy.ps1 CompanyName.LEP.Etl.Ssis.DataMigration.ispac
inputs:
scriptType: filePath
scriptName: "$(repo.BuildScripts)/SSIS_RenameIspac_Copy.ps1"
arguments: -SourceRoot "$(Build.SourcesDirectory)\$(map.)\$(map.Etl)" -binSub "bin\$(configuration.Etl)" -ProjectName "CompanyName.LEP.Etl.Ssis.DataMigration" "CompanyName.LEP.Etl.Ssis.ispac" -TargetFolder "$(Build.StagingDirectory)\SSIS"
- task: MSBuild@1
displayName: Build CompanyName.LEP.Etl.Ssis.DataWarehouse.dtproj
inputs:
solution: "$(repo.BuildScripts)/SsisBuildDtproj_15.0.proj"
msbuildLocationMethod: version
msbuildVersion: '14.0'
msbuildArchitecture: x86
msbuildLocation: ''
: x86
configuration: "$(configuration.Etl)"
msbuildArguments: /p:SSISProject=$(Build.SourcesDirectory)\$(map.)\$(map.Etl)\CompanyName.LEP.Etl.Ssis.DataWarehouse/CompanyName.LEP.Etl.Ssis.DataWarehouse.dtproj /fl /flp:logfile="$(Build.StagingDirectory)\SSIS\CompanyName.LEP.Etl.Ssis.DataWarehouse.txt" /v:normal /p:CmdLineInMemoryStorage=true
clean: 'false'
maximumCpuCount: 'false'
restoreNugetPackages: 'false'
logProjectEvents: 'false'
createLogFile: 'false'
- task: PowerShell@1
displayName: SSIS_RenameIspac_Copy.ps1 CompanyName.LEP.Etl.Ssis.DataWarehouse.ispac
inputs:
scriptType: filePath
scriptName: "$(repo.BuildScripts)/SSIS_RenameIspac_Copy.ps1"
arguments: -SourceRoot "$(Build.SourcesDirectory)\$(map.)\$(map.Etl)" -binSub "bin\$(configuration.Etl)" -ProjectName "CompanyName.LEP.Etl.Ssis.DataWarehouse" "CompanyName.LEP.Etl.Ssis.ispac" -TargetFolder "$(Build.StagingDirectory)\SSIS"
- task: CopyPublishBuildArtifacts@1
displayName: 'Copy Publish Artifact: $(artifactName.Etl)'
inputs:
CopyRoot: "$(Build.StagingDirectory)"
Contents: "**\\*"
ArtifactName: "$(artifactName.Etl)"
ArtifactType: FilePath
TargetPath: "\\\\$(Agent.Machinename)\\_drop\\$(octo.PackagePrefix)\\$(Build.BuildId)"
- task: PowerShell@1
displayName: SSIS_Packaging_PostBuild.ps1
inputs:
scriptType: filePath
scriptName: "$(repo.BuildScripts)/SSIS_Packaging_PostBuild.ps1"
arguments: -ArtifactPath "\\$(Agent.Machinename)\_drop\$(octo.PackagePrefix)\$(Build.BuildId)\$(artifactName.Etl)"
- task: OctopusPack@2
displayName: Package $(octo.PackagePrefix)$(artifactName.Etl)
inputs:
PackageId: "$(octo.PackagePrefix)$(artifactName.Etl)"
PackageFormat: NuPkg
PackageVersion: "$(Version)"
SourcePath: "\\\\$(Agent.Machinename)\\_drop\\$(octo.PackagePrefix)\\$(Build.BuildId)\\$(artifactName.Etl)"
OutputPath: "\\\\$(Agent.Machinename)\\_packages"
NuGetAuthor: ''
NuGetTitle: ''
NuGetDescription: ''
NuGetReleaseNotes: ''
NuGetReleaseNotesFile: ''
Include: ''
Overwrite: 'false'
ListFiles: 'false'
- task: OctopusPush@2
displayName: Push Packages to Octopus
inputs:
OctoConnectedServiceName:
Package: "\\\\$(Agent.Machinename)\\_packages\\$(octo.PackagePrefix)$(artifactName.Etl).$(Version).nupkg"
Replace: 'False'
AdditionalArguments: ''
- phase: LEP
queue: LEP
steps:
- task: PowerShell@1
displayName: ExtConfigs_PreBuild.ps1
inputs:
scriptType: filePath
scriptName: "$(repo.BuildScripts)/ExtConfigs_PreBuild.ps1"
arguments: ''
- task: PowerShell@1
displayName: ListVariables.ps1
inputs:
scriptType: filePath
scriptName: "$(repo.BuildScripts)/ListVariables.ps1"
arguments: ''
- task: PowerShell@1
displayName: ApplyVersionToAssemblies.ps1
inputs:
scriptType: filePath
scriptName: "$(repo.BuildScripts)/ApplyVersionToAssemblies.ps1"
arguments: ''
- task: NugetRestore@2
displayName: NuGet restore
inputs:
command: restore
solution: "**/*.sln"
searchPatternPush: "$(Build.ArtifactStagingDirectory)/*.nupkg"
nuGetFeedType: internal
feedPublish: ''
allowPackageConflicts: 'false'
externalEndpoint: ''
searchPatternPack: "**/*.csproj"
configurationToPack: "$(BuildConfiguration)"
outputDir: "$(Build.ArtifactStagingDirectory)"
arguments: ''
selectOrConfig: select
feedRestore:
includeNuGetOrg: 'true'
nugetConfigPath: ''
externalEndpoints: ''
noCache: 'true'
packagesDirectory: ''
verbosityRestore: Detailed
verbosityPush: Detailed
versioningScheme: 'off'
includeReferencedProjects: 'false'
versionEnvVar: ''
requestedMajorVersion: '1'
requestedMinorVersion: '0'
requestedPatchVersion: '0'
packTimezone: utc
includeSymbols: 'false'
buildProperties: ''
verbosityPack: Detailed
- task: CopyFiles@2
displayName: 'Copy Files to: CompanyName.LEP.Web.Host'
inputs:
sourceFolder: "$(repo.)/CompanyName.LEP/CompanyName.LEP.Web.Host"
contents: Web.token.config
targetFolder: "$(Build.StagingDirectory)/CompanyName.LEP.Web.Host"
cleanTargetFolder: 'false'
overWrite: 'false'
flattenFolders: 'false'
- task: CopyFiles@2
displayName: 'Copy Files to: CompanyName.LEP.IdentityModel.Host'
inputs:
sourceFolder: "$(repo.)/CompanyName.LEP/CompanyName.LEP.IdentityModel.Host"
contents: Web.token.config
targetFolder: "$(Build.StagingDirectory)/CompanyName.LEP.IdentityModel.Host"
cleanTargetFolder: 'false'
overWrite: 'false'
flattenFolders: 'false'
- task: VSBuild@1
displayName: Build solution CompanyName.LEP.sln
inputs:
solution: "$(repo.)/CompanyName.LEP/CompanyName.LEP.sln"
vsVersion: '15.0'
msbuildArgs: /p:OutDir=$(Build.StagingDirectory) /p:LEPloyOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PublishProfile="$(Build.SourcesDirectory)\$(map.)\CompanyName.LEP\CompanyName.LEP.Web.Host\Properties\PublishProfiles\CompanyName_Build.pubxml" /p:CmdLineInMemoryStorage=true
: Any CPU
configuration: Release
clean: 'false'
maximumCpuCount: 'false'
restoreNugetPackages: 'false'
msbuildArchitecture: x86
logProjectEvents: 'true'
createLogFile: 'false'
- task: VSTest@2
displayName: Test Assemblies CompanyName.LEP
inputs:
testSelector: testAssemblies
testAssemblyVer2: "**\\*test*.dll\n!**\\obj\\**"
testPlan: ''
testSuite: ''
testConfiguration: ''
tcmTestRun: "$(test.RunId)"
searchFolder: "$(Build.StagingDirectory)"
testFiltercriteria: TestCategory!=Database&TestCategory!=Integration
runOnlyImpactedTests: 'false'
runAllTestsAfterXBuilds: '50'
uiTests: 'false'
vstestLocationMethod: version
vsTestVersion: latest
vstestLocation: ''
runSettingsFile: "$(repo.)/CompanyName.LEP/CompanyName.LEP.runsettings"
overrideTestrunParameters: ''
pathtoCustomTestAdapters: ''
runInParallel: 'false'
runTestsInIsolation: 'false'
codeCoverageEnabled: 'true'
otherConsoleOptions: ''
distributionBatchType: basedOnTestCases
batchingBasedOnAgentsOption: autoBatchSize
customBatchSizeValue: '10'
batchingBasedOnExecutionTimeOption: autoBatchSize
customRunTimePerBatchValue: '60'
dontDistribute: 'false'
testRunTitle: CompanyName.LEP Tests w Runsettings
: Any CPU
configuration: Release
publishRunAttachments: 'true'
- task: CopyPublishBuildArtifacts@1
displayName: 'Copy Publish Artifact: $(artifactName.LEP)'
inputs:
CopyRoot: "$(Build.StagingDirectory)"
Contents: "**\\*"
ArtifactName: "$(artifactName.LEP)"
ArtifactType: FilePath
TargetPath: "\\\\$(Agent.Machinename)\\_drop\\$(octo.PackagePrefix)\\$(Build.BuildId)"
- task: PowerShell@1
displayName: WEB_Packaging_PostBuild.ps1
inputs:
scriptType: filePath
scriptName: "$(repo.BuildScripts)/WEB_Packaging_PostBuild.ps1"
arguments: -ArtifactPath "\\$(Agent.Machinename)\_drop\$(octo.PackagePrefix)\$(Build.BuildId)\$(artifactName.LEP)"
- task: OctopusPack@2
displayName: Package $(octo.PackagePrefix)$(artifactName.LEP)
inputs:
PackageId: "$(octo.PackagePrefix)$(artifactName.LEP)"
PackageFormat: NuPkg
PackageVersion: "$(Version)"
SourcePath: "\\\\$(Agent.Machinename)\\_drop\\$(octo.PackagePrefix)\\$(Build.BuildId)\\$(artifactName.LEP)"
OutputPath: "\\\\$(Agent.Machinename)\\_packages"
NuGetAuthor: ''
NuGetTitle: ''
NuGetDescription: ''
NuGetReleaseNotes: ''
NuGetReleaseNotesFile: ''
Include: ''
Overwrite: 'false'
ListFiles: 'false'
- task: OctopusPush@2
displayName: Push Packages to Octopus
inputs:
OctoConnectedServiceName:
Package: "\\\\$(Agent.Machinename)\\_packages\\$(octo.PackagePrefix)$(artifactName.LEP).$(Version).nupkg"
Replace: 'False'
- phase: Post
queue: LEP
DependsOn:
- CD
- Bus
- Etl
- LEP
steps:
- task: PowerShell@1
displayName: Update BuildID Octopus variable with Build ID
inputs:
scriptType: filePath
scriptName: "$(repo.BuildScripts)/UpdateOctopusVariable.ps1"
arguments: 'BuildID $(Build.BuildID) $(APIKey) $(OctopusProjectName)'
- task: OctopusCreateRelease@2
displayName: Create Octopus Release
inputs:
OctoConnectedServiceName:
ProjectName: "$(OctopusProjectName)"
ReleaseNumber: "$(Version)-$(BranchName)"
Channel: ''
ChangesetCommentReleaseNotes: 'false'
WorkItemReleaseNotes: 'false'
CustomReleaseNotes: ''
LEPloyToEnvironment: "$(environmentName)"
LEPloyForTenants: "$(Tenant)"
LEPloyForTenantTags: ''
LEPloymentProgress: 'false'
AdditionalArguments: "--package=-LEP:$(Version) --package=-Bus:$(Version) --package=-Etl:$(Version) --package=-Cms:$(Version)"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment