Update azure-pipelines.yml for Azure Pipelines
This commit is contained in:
		
							parent
							
								
									5fdb41454b
								
							
						
					
					
						commit
						0b11aab6d5
					
				| @ -18,53 +18,8 @@ stages: | |||||||
| - stage: Build | - stage: Build | ||||||
|   jobs: |   jobs: | ||||||
| 
 | 
 | ||||||
|   - job: SetupEnvironment |  | ||||||
|     displayName: "Setup Build Environment" |  | ||||||
|     steps: |  | ||||||
| 
 |  | ||||||
|     - checkout: self |  | ||||||
|       persistCredentials: true |  | ||||||
|       fetchDepth: 0 |  | ||||||
| 
 |  | ||||||
|     - task: PowerShell@2 |  | ||||||
|       name: "diffStep" |  | ||||||
|       inputs: |  | ||||||
|         targetType: 'inline' |  | ||||||
|         script: | |  | ||||||
|           Write-Host "##[section]All Environment Variables:" |  | ||||||
|           Get-ChildItem env: | Format-Table -AutoSize |  | ||||||
|            |  | ||||||
|           Write-Host "##[section]Specific Variable Example:" |  | ||||||
|           Write-Host "BUILD_SOURCEBRANCH = $env:BUILD_SOURCEBRANCH" |  | ||||||
|           Write-Host "BUILD_REPOSITORY_NAME = $env:BUILD_REPOSITORY_NAME" |  | ||||||
|           git fetch origin "$(Build.SourceBranchName)" main |  | ||||||
|           $diffResult = git diff --name-only origin/main...HEAD |  | ||||||
|           $folderFound = $false |  | ||||||
|           if ([string]::IsNullOrWhiteSpace($diffResult)) { |  | ||||||
|               Write-Host "No diff results found." |  | ||||||
|               Write-Host "##vso[task.setvariable variable=folderChanged;isOutput=true]$folderFound" |  | ||||||
|               exit 0  # Exit with success code |  | ||||||
|           } |  | ||||||
|           Write-Host "git diff result is $diffResult" |  | ||||||
|           $diffResultEncoded = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($diffResult)) |  | ||||||
|           Write-Host "##vso[task.setvariable variable=diffResultEncoded]$diffResultEncoded" |  | ||||||
| 
 |  | ||||||
|           $foldersToCheck = @('EnotaryoPH/EnotaryoPH.DbMigration/Scripts') |  | ||||||
|           foreach ($folder in $foldersToCheck) { |  | ||||||
|               if ($diffResult -match $folder) { |  | ||||||
|                   $folderFound = $true |  | ||||||
|                   Write-Host "Found changes in $folder" |  | ||||||
|                   break |  | ||||||
|               } |  | ||||||
|           } |  | ||||||
|           Write-Host "##vso[task.setvariable variable=folderChanged;isOutput=true]$folderFound" |  | ||||||
|       displayName: 'Check Git Diff for Specific Folders' |  | ||||||
| 
 |  | ||||||
|   - job: LinuxBuild |   - job: LinuxBuild | ||||||
|     displayName: 'Build on Linux' |     displayName: 'Build on Linux' | ||||||
|     dependsOn: SetupEnvironment |  | ||||||
|     variables: |  | ||||||
|       folderChanged: $[ dependencies.SetupEnvironment.outputs['diffStep.folderChanged'] ] |  | ||||||
|     pool: |     pool: | ||||||
|       vmImage: 'ubuntu-latest' |       vmImage: 'ubuntu-latest' | ||||||
|     steps: |     steps: | ||||||
| @ -99,7 +54,7 @@ stages: | |||||||
|           publishLocation: 'Container' |           publishLocation: 'Container' | ||||||
| 
 | 
 | ||||||
|       - task: ArchiveFiles@2 |       - task: ArchiveFiles@2 | ||||||
|         condition: eq(variables['folderChanged'], 'True') |         displayName: 'Arhive Migration Artifcat' | ||||||
|         inputs: |         inputs: | ||||||
|           rootFolderOrFile: '$(Build.ArtifactStagingDirectory)-linux/migration' |           rootFolderOrFile: '$(Build.ArtifactStagingDirectory)-linux/migration' | ||||||
|           includeRootFolder: true |           includeRootFolder: true | ||||||
| @ -108,7 +63,7 @@ stages: | |||||||
|           replaceExistingArchive: true |           replaceExistingArchive: true | ||||||
| 
 | 
 | ||||||
|       - task: PublishBuildArtifacts@1 |       - task: PublishBuildArtifacts@1 | ||||||
|         condition: eq(variables['folderChanged'], 'True') |         displayName: 'Publish Migration Artifcat' | ||||||
|         inputs: |         inputs: | ||||||
|           PathtoPublish: '$(Build.ArtifactStagingDirectory)-linux/$(Build.BuildId)/migration.zip' |           PathtoPublish: '$(Build.ArtifactStagingDirectory)-linux/$(Build.BuildId)/migration.zip' | ||||||
|           ArtifactName: 'drop-linux-migration' |           ArtifactName: 'drop-linux-migration' | ||||||
| @ -116,10 +71,6 @@ stages: | |||||||
| 
 | 
 | ||||||
|   - job: WindowsBuild |   - job: WindowsBuild | ||||||
|     displayName: 'Build on Windows' |     displayName: 'Build on Windows' | ||||||
|     dependsOn: SetupEnvironment |  | ||||||
|     condition: ne(variables['Build.Reason'], 'PullRequest') |  | ||||||
|     variables: |  | ||||||
|       folderChanged: $[ dependencies.SetupEnvironment.outputs['diffStep.folderChanged'] ] |  | ||||||
|     pool: |     pool: | ||||||
|       vmImage: 'windows-latest' # Specify the Windows agent |       vmImage: 'windows-latest' # Specify the Windows agent | ||||||
|     steps: |     steps: | ||||||
| @ -153,7 +104,7 @@ stages: | |||||||
|           publishLocation: 'Container' |           publishLocation: 'Container' | ||||||
| 
 | 
 | ||||||
|       - task: ArchiveFiles@2 |       - task: ArchiveFiles@2 | ||||||
|         condition: eq(variables['folderChanged'], 'True') |         displayName: 'Arhive Migration Artifcat' | ||||||
|         inputs: |         inputs: | ||||||
|           rootFolderOrFile: '$(Build.ArtifactStagingDirectory)-windows/migration' |           rootFolderOrFile: '$(Build.ArtifactStagingDirectory)-windows/migration' | ||||||
|           includeRootFolder: true |           includeRootFolder: true | ||||||
| @ -162,7 +113,7 @@ stages: | |||||||
|           replaceExistingArchive: true |           replaceExistingArchive: true | ||||||
| 
 | 
 | ||||||
|       - task: PublishBuildArtifacts@1 |       - task: PublishBuildArtifacts@1 | ||||||
|         condition: eq(variables['folderChanged'], 'True') |         displayName: 'Publish Migration Artifcat' | ||||||
|         inputs: |         inputs: | ||||||
|           PathtoPublish: '$(Build.ArtifactStagingDirectory)-windows/$(Build.BuildId)/migration.zip' |           PathtoPublish: '$(Build.ArtifactStagingDirectory)-windows/$(Build.BuildId)/migration.zip' | ||||||
|           ArtifactName: 'drop-windows-migration' |           ArtifactName: 'drop-windows-migration' | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user