From 758674397abc2588ecb63a199ce20f5f1278c694 Mon Sep 17 00:00:00 2001 From: Harshit Aggarwal <haaggarw@microsoft.com> Date: Tue, 22 Dec 2020 12:40:05 +0530 Subject: [PATCH] adding dev pipeline --- devops/azure/chart/helm-config.yaml | 28 +++++++ devops/azure/development-pipeline.yml | 84 +++++++++++++++++++ .../notification-azure/maven/settings.xml | 32 +++++++ provider/notification-azure/pom.xml | 2 +- 4 files changed, 145 insertions(+), 1 deletion(-) create mode 100644 devops/azure/chart/helm-config.yaml create mode 100644 devops/azure/development-pipeline.yml create mode 100644 provider/notification-azure/maven/settings.xml diff --git a/devops/azure/chart/helm-config.yaml b/devops/azure/chart/helm-config.yaml new file mode 100644 index 000000000..9323d6f1a --- /dev/null +++ b/devops/azure/chart/helm-config.yaml @@ -0,0 +1,28 @@ +# 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. + +# This file contains the essential configs for the osdu on azure helm chart +global: + + # Service(s) Replica Count + replicaCount: 1 + +################################################################################ +# Specify the Gitlab branch being used for image creation +# ie: community.opengroup.org:5555/osdu/platform/system/storage/{{ .Values.global.branch }}/storage:latest +# +image: + repository: #{container-registry}#.azurecr.io + branch: #{ENVIRONMENT_NAME}# + tag: #{Build.SourceVersion}# diff --git a/devops/azure/development-pipeline.yml b/devops/azure/development-pipeline.yml new file mode 100644 index 000000000..532aa11e8 --- /dev/null +++ b/devops/azure/development-pipeline.yml @@ -0,0 +1,84 @@ +# 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/notification-aws + - /provider/notification-gcp + - /provider/notification-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: "notification" + - name: chartPath + value: "devops/azure/chart" + - name: valuesFile + value: "devops/azure/chart/helm-config.yaml" + - 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 notification-core --settings .mvn/community-maven.settings.xml' + mavenOptions: '-P notification-azure --settings .mvn/community-maven.settings.xml -Dmaven.repo.local=$(MAVEN_CACHE_FOLDER)' + copyFileContents: | + pom.xml + provider/notification-azure/maven/settings.xml + provider/notification-azure/pom.xml + provider/notification-azure/target/*-spring-boot.jar + .mvn/community-maven.settings.xml + copyFileContentsToFlatten: '' + mavenSettingsFile: '.mvn/community-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/notification-test-core/pom.xml' + testCoreMavenOptions: '--settings $(System.DefaultWorkingDirectory)/drop/.mvn/community-maven.settings.xml' + skipDeploy: ${{ variables.SKIP_DEPLOY }} + skipTest: ${{ variables.SKIP_TESTS }} + providers: + - name: Azure + environments: ['dev'] diff --git a/provider/notification-azure/maven/settings.xml b/provider/notification-azure/maven/settings.xml new file mode 100644 index 000000000..020363544 --- /dev/null +++ b/provider/notification-azure/maven/settings.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. + --> + +<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> + <servers> + <server> + <id>azure-auth</id> + <configuration> + <tenant>${AZURE_DEPLOY_TENANT}</tenant> + <client>${AZURE_DEPLOY_CLIENT_ID}</client> + <key>${AZURE_DEPLOY_CLIENT_SECRET}</key> + <environment>AZURE</environment> + </configuration> + </server> + </servers> +</settings> diff --git a/provider/notification-azure/pom.xml b/provider/notification-azure/pom.xml index bf1bbd055..c6b6f1657 100644 --- a/provider/notification-azure/pom.xml +++ b/provider/notification-azure/pom.xml @@ -20,7 +20,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <artifactId>notification-azure</artifactId> - <version>1.0.0</version> + <version>1.0.0-SNAPSHOT</version> <name>notification-azure</name> <description>Azure implementation for Notification service</description> <packaging>jar</packaging> -- GitLab