diff --git a/devops/azure/pipeline.yml b/devops/azure/pipeline.yml
new file mode 100644
index 0000000000000000000000000000000000000000..13617a7552be024dd921f877b6d371190c2a6c8c
--- /dev/null
+++ b/devops/azure/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: ['demo']