diff --git a/devops/developer-pipeline.yml b/devops/developer-pipeline.yml
new file mode 100644
index 0000000000000000000000000000000000000000..21e6a12068d15c957e135b10d0d5047afc2f0e8f
--- /dev/null
+++ b/devops/developer-pipeline.yml
@@ -0,0 +1,63 @@
+#####################
+# README: Defines a template to be used as a starting point for defining a service pipeline
+#####################
+
+trigger:
+  batch: true
+  branches:
+    include:
+      - master
+  paths:
+    exclude:
+      - /**/*.md
+      - .gitignore
+      - images/
+
+pr:
+  autoCancel: true
+  branches:
+    include:
+      - '*'
+  paths:
+    exclude:
+      - /**/*.md
+      - .gitignore
+      - images/
+
+resources:
+  repositories:
+    - repository: osdu-infrastructure
+      type: git
+      name: osdu-r2/osdu-infrastructure
+
+variables:
+  - group: 'Azure Common Secrets'
+  - group: 'Azure - Common'
+
+  - name: serviceName
+    value: 'indexer'
+
+stages:
+  - template: devops/service-pipelines/build-stage.yml@osdu-infrastructure
+    parameters:
+      mavenGoal: 'package'
+      mavenPublishJUnitResults: true
+      serviceCoreMavenOptions: '-P indexer-core'
+      mavenOptions: '-P indexer-azure'
+      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'
+  - template: devops/service-pipelines/deploy-stages.yml@osdu-infrastructure
+    parameters:
+      serviceName: ${{ variables.serviceName }}
+      testCoreMavenPomFile: 'testing/indexer-test-core/pom.xml'
+      testCoreMavenOptions: '--settings $(System.DefaultWorkingDirectory)/drop/deploy/testing/maven/settings.xml'
+      providers:
+        -  name: Azure
+           environments: ['test']