diff --git a/devops/service-pipeline.yml b/devops/service-pipeline.yml
index 32636f7e9fd38520c7d28c4875da9766e81ffed8..ace49b2028ce071910db39917d04a77b340dae67 100644
--- a/devops/service-pipeline.yml
+++ b/devops/service-pipeline.yml
@@ -1,23 +1,35 @@
+#####################
+# README: Defines a template to be used as a starting point for defining a service pipeline
+#####################
+
 trigger:
   batch: true
   branches:
     include:
-    - master
+      - master
   paths:
     exclude:
-    - /**/*.md
-    - .gitignore
-    - images/
+      - /**/*.md
+      - .gitignore
+      - images/
 
 pr:
+  autoCancel: true
   branches:
     include:
-    - '*'
+      - '*'
   paths:
     exclude:
-    - /**/*.md
-    - .gitignore
-    - images/
+      - /**/*.md
+      - .gitignore
+      - images/
+
+variables:
+  - group: 'Azure Common Secrets'
+  - group: 'Azure - Common'
+
+  - name: serviceName
+    value: 'indexer'
 
 resources:
   repositories:
@@ -25,9 +37,31 @@ resources:
       type: git
       name: open-data-ecosystem/infrastructure-templates
 
-variables:
-- group: 'Azure Common Secrets'
-- group: 'Azure - Common'
-
 stages:
-- template: devops/service-pipelines/service-pipeline-stages.yml@infrastructure-templates
+  - template: devops/service-pipelines/build-stage.yml@infrastructure-templates
+    parameters:
+      mavenGoal: 'package'
+      mavenPublishJUnitResults: true
+      serviceCoreMavenOptions: '--settings ./indexer-core/maven/settings.xml -DVSTS_FEED_TOKEN=$(VSTS_FEED_TOKEN) -U'
+      mavenOptions: '--settings ./provider/${{ variables.serviceName }}-azure/maven/settings.xml -DVSTS_FEED_TOKEN=$(VSTS_FEED_TOKEN) -U -P indexer-azure'
+      copyFileContents: |
+          pom.xml
+          provider/${{ variables.serviceName }}-azure/maven/settings.xml
+          provider/${{ variables.serviceName }}-azure/pom.xml
+          provider/${{ variables.serviceName }}-azure/target/*-spring-boot.jar
+      copyFileContentsToFlatten: ''
+      serviceBase: ${{ variables.serviceName }}
+      testingRootFolder: 'testing'
+  - template: devops/service-pipelines/deploy-stages.yml@infrastructure-templates
+    parameters:
+      serviceName: ${{ variables.serviceName }}
+      testCoreMavenPomFile: 'testing/indexer-test-core/pom.xml'
+      testCoreMavenOptions: '--settings $(System.DefaultWorkingDirectory)/drop/deploy/testing/maven/settings.xml -DVSTS_FEED_TOKEN=$(VSTS_FEED_TOKEN) -U'
+      providers:
+        -  name: Azure
+           # Merges into Master
+           ${{ if eq(variables['Build.SourceBranchName'], 'master') }}:
+            environments: ['devint', 'qa', 'prod']
+           # PR updates / creations
+           ${{ if ne(variables['Build.SourceBranchName'], 'master') }}:
+            environments: ['devint']
diff --git a/testing/indexer-test-azure/pom.xml b/testing/indexer-test-azure/pom.xml
index 1abb9f8f4109a14e98eab5b18d0794f7d56e2bb7..5372429282f19a3cdf4017330a14dec185d0d897 100644
--- a/testing/indexer-test-azure/pom.xml
+++ b/testing/indexer-test-azure/pom.xml
@@ -32,7 +32,19 @@
         <azure.keyvault.version>4.1.0</azure.keyvault.version>
         <junit.jupiter.version>5.6.0</junit.jupiter.version>
     </properties>
-
+    <!-- indexer test core depends on core libraries in OSDU, so the repository needs to be configured -->
+    <repositories>
+        <repository>
+            <id>os-core</id>
+            <url>https://pkgs.dev.azure.com/slb-des-ext-collaboration/_packaging/os-core/maven/v1</url>
+            <releases>
+                <enabled>true</enabled>
+            </releases>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </repository>
+    </repositories>
     <dependencies>
 
         <!-- Internal packages -->
diff --git a/testing/indexer-test-core/pom.xml b/testing/indexer-test-core/pom.xml
index b742e30c33cd03d032841253eb421a9b812c4b03..47fc093c5899065a5f5588cf5d7ad32748a1cf30 100644
--- a/testing/indexer-test-core/pom.xml
+++ b/testing/indexer-test-core/pom.xml
@@ -14,6 +14,19 @@
         <cucumber.version>1.2.5</cucumber.version>
     </properties>
 
+    <!-- testing core depends on core libraries in OSDU, so the repository needs to be configured -->
+    <repositories>
+        <repository>
+            <id>os-core</id>
+            <url>https://pkgs.dev.azure.com/slb-des-ext-collaboration/_packaging/os-core/maven/v1</url>
+            <releases>
+                <enabled>true</enabled>
+            </releases>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </repository>
+    </repositories>
     <dependencies>
         <dependency>
             <groupId>org.opengroup.osdu</groupId>
@@ -122,4 +135,4 @@
             <version>27.1-jre</version>
         </dependency>
     </dependencies>
-</project>
\ No newline at end of file
+</project>