Update azure-pipelines.yml for Azure Pipelines
This commit is contained in:
		
							parent
							
								
									5fdb41454b
								
							
						
					
					
						commit
						0b11aab6d5
					
				| @ -18,53 +18,8 @@ stages: | ||||
| - stage: Build | ||||
|   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 | ||||
|     displayName: 'Build on Linux' | ||||
|     dependsOn: SetupEnvironment | ||||
|     variables: | ||||
|       folderChanged: $[ dependencies.SetupEnvironment.outputs['diffStep.folderChanged'] ] | ||||
|     pool: | ||||
|       vmImage: 'ubuntu-latest' | ||||
|     steps: | ||||
| @ -99,7 +54,7 @@ stages: | ||||
|           publishLocation: 'Container' | ||||
| 
 | ||||
|       - task: ArchiveFiles@2 | ||||
|         condition: eq(variables['folderChanged'], 'True') | ||||
|         displayName: 'Arhive Migration Artifcat' | ||||
|         inputs: | ||||
|           rootFolderOrFile: '$(Build.ArtifactStagingDirectory)-linux/migration' | ||||
|           includeRootFolder: true | ||||
| @ -108,7 +63,7 @@ stages: | ||||
|           replaceExistingArchive: true | ||||
| 
 | ||||
|       - task: PublishBuildArtifacts@1 | ||||
|         condition: eq(variables['folderChanged'], 'True') | ||||
|         displayName: 'Publish Migration Artifcat' | ||||
|         inputs: | ||||
|           PathtoPublish: '$(Build.ArtifactStagingDirectory)-linux/$(Build.BuildId)/migration.zip' | ||||
|           ArtifactName: 'drop-linux-migration' | ||||
| @ -116,10 +71,6 @@ stages: | ||||
| 
 | ||||
|   - job: WindowsBuild | ||||
|     displayName: 'Build on Windows' | ||||
|     dependsOn: SetupEnvironment | ||||
|     condition: ne(variables['Build.Reason'], 'PullRequest') | ||||
|     variables: | ||||
|       folderChanged: $[ dependencies.SetupEnvironment.outputs['diffStep.folderChanged'] ] | ||||
|     pool: | ||||
|       vmImage: 'windows-latest' # Specify the Windows agent | ||||
|     steps: | ||||
| @ -153,7 +104,7 @@ stages: | ||||
|           publishLocation: 'Container' | ||||
| 
 | ||||
|       - task: ArchiveFiles@2 | ||||
|         condition: eq(variables['folderChanged'], 'True') | ||||
|         displayName: 'Arhive Migration Artifcat' | ||||
|         inputs: | ||||
|           rootFolderOrFile: '$(Build.ArtifactStagingDirectory)-windows/migration' | ||||
|           includeRootFolder: true | ||||
| @ -162,7 +113,7 @@ stages: | ||||
|           replaceExistingArchive: true | ||||
| 
 | ||||
|       - task: PublishBuildArtifacts@1 | ||||
|         condition: eq(variables['folderChanged'], 'True') | ||||
|         displayName: 'Publish Migration Artifcat' | ||||
|         inputs: | ||||
|           PathtoPublish: '$(Build.ArtifactStagingDirectory)-windows/$(Build.BuildId)/migration.zip' | ||||
|           ArtifactName: 'drop-windows-migration' | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user