pipeline.yml 2.8 KB
Newer Older
harshit aggarwal's avatar
harshit aggarwal committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#  Copyright © Microsoft Corporation
#
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.

trigger:
  batch: true
  branches:
    include:
      - master
  paths:
    exclude:
      - /**/*.md
      - .gitignore
      - /docs
      - /provider/schema-aws
      - /provider/schema-gcp
      - /provider/schema-ibm

resources:
  repositories:
    - repository: FluxRepo
      type: git
      name: k8-gitops-manifests
    - repository: TemplateRepo
      type: git
      name: infra-azure-provisioning

variables:
  - group: 'Azure - OSDU'
  - group: 'Azure - OSDU Secrets'

  - name: serviceName
    value: "schema-service"
  - name: chartPath
    value: "devops/azure/chart"
  - name: valuesFile
    value: "devops/azure/chart/helm-config.yml"
  - name: 'MANIFEST_REPO'
    value: $[ resources.repositories['FluxRepo'].name ]
  - name: 'MAVEN_CACHE_FOLDER'
    value: $(Pipeline.Workspace)/.m2/repository
  - name: SKIP_TESTS
    value: 'false'

stages:
  - template: /devops/build-stage.yml@TemplateRepo
    parameters:
      mavenGoal: 'package'
      mavenPublishJUnitResults: true
      serviceCoreMavenOptions: '-P schema-core --settings .mvn/community-maven.settings.xml'
      mavenOptions: '-P schema-azure --settings .mvn/community-maven.settings.xml -Dmaven.repo.local=$(MAVEN_CACHE_FOLDER)'
      copyFileContents: |
        pom.xml
        provider/schema-azure/maven/settings.xml
        provider/schema-azure/pom.xml
        provider/schema-azure/target/*-spring-boot.jar
        .mvn/community-maven.settings.xml
        deployments/**
      copyFileContentsToFlatten: ''
      mavenSettingsFile: '.mvn/community-maven.settings.xml'
      serviceBase: ${{ variables.serviceName }}
      testingRootFolder: 'testing'
      chartPath: ${{ variables.chartPath }}
  - template: deploy-stages.yml
    parameters:
      serviceName: ${{ variables.serviceName }}
      chartPath: ${{ variables.chartPath }}
      valuesFile: ${{ variables.valuesFile }}
      testCoreMavenPomFile: 'testing/schema-test-core/pom.xml'
      testCoreMavenOptions: '--settings $(System.DefaultWorkingDirectory)/drop/.mvn/community-maven.settings.xml -DskipTests -DskipITs'
      integrationTestMavenGoal: 'verify'
      skipDeploy: ${{ variables.SKIP_DEPLOY }}
      skipTest: ${{ variables.SKIP_TESTS }}
      providers:
        -  name: Azure
           environments: ['demo']