Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
development-pipeline.yml 2.75 KiB
#  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
      - /indexer/storage-aws
      - /indexer/storage-byoc
      - /indexer/storage-gcp
      - /indexer/storage-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: "indexer-service"
  - name: chartPath
    value: "devops/azure/chart"
  - name: valuesFile
    value: "devops/azure/chart/helm-config.yaml"
  - name: 'MANIFEST_REPO'
    value: $[ resources.repositories['FluxRepo'].name ]
  - name: SKIP_TESTS
    value: 'false'
  - name: 'MAVEN_CACHE_FOLDER'
    value: $(Pipeline.Workspace)/.m2/repository

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