1
+ # Stages
2
+ # Stage-1:
3
+ # Task-1: Build Docker Image and push to Azure Container Registry ACR
4
+ # Task-2: Copy kube-manifest files to Build Artifact Directory
5
+ # Task-3: Publish build articats to Azure Pipelines
6
+ # Pipeline Hierarchial Flow: Stages -> Stage -> Jobs -> Job -> Steps -> Task1, Task2, Task3
7
+
8
+ trigger :
9
+ - master
10
+
11
+ # Variables
12
+ variables :
13
+ tag : ' $(Build.BuildId)'
14
+
15
+ stages :
16
+ # Build Stage
17
+ - stage : Build
18
+ displayName : Build Stage
19
+ jobs :
20
+ - job : Build
21
+ displayName : Build Job
22
+ pool :
23
+ vmImage : ' ubuntu-latest'
24
+ steps :
25
+ # Task-1: Build Docker Image and push to Azure Container Registry ACR
26
+ - task : Docker@2
27
+ inputs :
28
+ containerRegistry : ' manual-aksdevopsacr-svc'
29
+ repository : ' custom2aksnginxapp1'
30
+ command : ' buildAndPush'
31
+ Dockerfile : ' **/Dockerfile'
32
+ tags : |
33
+ $(tag)
34
+ $(Build.SourceVersion)
35
+ # # Publish Artifacts pipeline code in addition to Build and Push
36
+ - bash : echo Contents in System Default Working Directory; ls -R $(System.DefaultWorkingDirectory)
37
+ - bash : echo Before copying Contents in Build Artifact Directory; ls -R $(Build.ArtifactStagingDirectory)
38
+ # Task-2: Copy files (Copy files from a source folder to target folder)
39
+ # Source Directory: $(System.DefaultWorkingDirectory)/kube-manifests
40
+ # Target Directory: $(Build.ArtifactStagingDirectory)
41
+ - task : CopyFiles@2
42
+ inputs :
43
+ SourceFolder : ' $(System.DefaultWorkingDirectory)/kube-manifests'
44
+ Contents : ' **'
45
+ TargetFolder : ' $(Build.ArtifactStagingDirectory)'
46
+ OverWrite : true
47
+ # List files from Build Artifact Staging Directory - After Copy
48
+ - bash : echo After copying to Build Artifact Directory; ls -R $(Build.ArtifactStagingDirectory)
49
+ # Task-3: Publish build artifacts (Publish build to Azure Pipelines)
50
+ - task : PublishBuildArtifacts@1
51
+ inputs :
52
+ PathtoPublish : ' $(Build.ArtifactStagingDirectory)'
53
+ ArtifactName : ' kube-manifests'
54
+ publishLocation : ' Container'
0 commit comments