Skip to content

Build and Push Search Service Image #14

Build and Push Search Service Image

Build and Push Search Service Image #14

Workflow file for this run

name: Build and Push Search Service Image
on:
push:
tags:
- '*'
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
# Step 1: Checkout the code
- name: Checkout code
uses: actions/checkout@v2
# Step 2: Set up JDK 11 and Maven
- name: Set up JDK 11 and Maven
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '11'
cache: 'maven'
# Step 3: Build the project
- name: Build Search API Service
run: |
mvn clean install -DskipTests=true \
-DCLOUD_STORE_GROUP_ID=${{ vars.CLOUD_STORE_GROUP_ID }} \
-DCLOUD_STORE_ARTIFACT_ID=${{ vars.CLOUD_STORE_ARTIFACT_ID }} \
-DCLOUD_STORE_VERSION=${{ vars.CLOUD_STORE_VERSION }}
# Step 4: Package the project
- name: Package Search API Service
run: |
cd search-api
mvn play2:dist -pl search-service \
-DCLOUD_STORE_GROUP_ID=${{ vars.CLOUD_STORE_GROUP_ID }} \
-DCLOUD_STORE_ARTIFACT_ID=${{ vars.CLOUD_STORE_ARTIFACT_ID }} \
-DCLOUD_STORE_VERSION=${{ vars.CLOUD_STORE_VERSION }}
# Step 5: Set up Login to Docker registry
- name: Container Registry Login
uses: ./.github/actions/registry-login
# Step 6: Build Docker image
- name: Build Docker Image
run: |
IMAGE_NAME="search-api"
IMAGE_TAG=$(echo "${{ github.ref_name }}_$(echo $GITHUB_SHA | cut -c1-7)" | tr '[:upper:]' '[:lower:]')
docker build -f build/search-service/Dockerfile -t $REGISTRY_URL/${IMAGE_NAME}:${IMAGE_TAG} .
echo "IMAGE_NAME=${IMAGE_NAME}" >> $GITHUB_ENV
echo "IMAGE_TAG=${IMAGE_TAG}" >> $GITHUB_ENV
# Step 7: Push Docker Image
- name: Push Docker Image
run: |
docker push $REGISTRY_URL/${IMAGE_NAME}:${IMAGE_TAG}
echo "Pushed Docker image: $REGISTRY_URL/${IMAGE_NAME}:${IMAGE_TAG}"