Skip to content

Commit 2a4598f

Browse files
committed
Added workflows for content, taxonomy and search
1 parent 862fa2c commit 2a4598f

File tree

3 files changed

+161
-1
lines changed

3 files changed

+161
-1
lines changed

.github/workflows/content-service.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
- '*'
77

88
jobs:
9-
build-and-package:
9+
build-and-push:
1010
runs-on: ubuntu-latest
1111

1212
steps:
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: Build and Push Search Service Image
2+
3+
on:
4+
push:
5+
tags:
6+
- '*'
7+
8+
jobs:
9+
build-and-push:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
# Step 1: Checkout the code
14+
- name: Checkout code
15+
uses: actions/checkout@v2
16+
17+
# Step 2: Set up JDK 11 and Maven
18+
- name: Set up JDK 11 and Maven
19+
uses: actions/setup-java@v3
20+
with:
21+
distribution: 'temurin'
22+
java-version: '11'
23+
cache: 'maven'
24+
25+
# Step 4: Build the project
26+
- name: Build Search API Service
27+
run: |
28+
mvn clean install -DskipTests=true \
29+
-DCLOUD_STORE_GROUP_ID=${{ vars.CLOUD_STORE_GROUP_ID }} \
30+
-DCLOUD_STORE_ARTIFACT_ID=${{ vars.CLOUD_STORE_ARTIFACT_ID }} \
31+
-DCLOUD_STORE_VERSION=${{ vars.CLOUD_STORE_VERSION }}
32+
33+
# Step 5: Package the project
34+
- name: Package Search API Service
35+
run: |
36+
cd search-api
37+
mvn play2:dist -pl search-service \
38+
-DCLOUD_STORE_GROUP_ID=${{ vars.CLOUD_STORE_GROUP_ID }} \
39+
-DCLOUD_STORE_ARTIFACT_ID=${{ vars.CLOUD_STORE_ARTIFACT_ID }} \
40+
-DCLOUD_STORE_VERSION=${{ vars.CLOUD_STORE_VERSION }}
41+
42+
# Step 6: Set up Login to Docker registry
43+
- name: Determine registry and login
44+
run: |
45+
if [[ -n "${{ secrets.GCP_SERVICE_ACCOUNT_KEY }}" ]]; then
46+
echo "Using Google Container Registry"
47+
echo "${{ secrets.GCP_SERVICE_ACCOUNT_KEY }}" | base64 --decode > $HOME/gcloud-key.json
48+
gcloud auth activate-service-account --key-file=$HOME/gcloud-key.json
49+
gcloud auth configure-docker ${{ secrets.REGISTRY_NAME }}
50+
REGISTRY_URL=$(echo "${{ secrets.REGISTRY_URL }}" | tr '[:upper:]' '[:lower:]')
51+
52+
elif [[ -n "${{ secrets.REGISTRY_USERNAME }}" && -n "${{ secrets.REGISTRY_PASSWORD }}" ]]; then
53+
echo "Logging in to custom Docker registry"
54+
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ secrets.REGISTRY_NAME }} \
55+
--username ${{ secrets.REGISTRY_USERNAME }} --password-stdin
56+
REGISTRY_URL=$(echo "${{ secrets.REGISTRY_URL }}" | tr '[:upper:]' '[:lower:]')
57+
58+
else
59+
echo "Using GitHub Container Registry (GHCR)"
60+
REPO_NAME_LOWERCASE=$(echo "${GITHUB_REPOSITORY}" | tr '[:upper:]' '[:lower:]')
61+
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
62+
REGISTRY_URL="ghcr.io/$REPO_NAME_LOWERCASE"
63+
fi
64+
65+
echo "REGISTRY_URL=${REGISTRY_URL}" >> $GITHUB_ENV
66+
67+
# Step 7: Build Docker image
68+
- name: Build Docker Image
69+
run: |
70+
IMAGE_NAME="search-api"
71+
IMAGE_TAG=$(echo "${{ github.ref_name }}_$(echo $GITHUB_SHA | cut -c1-7)" | tr '[:upper:]' '[:lower:]')
72+
docker build -f build/search-service/Dockerfile -t $REGISTRY_URL/${IMAGE_NAME}:${IMAGE_TAG} .
73+
74+
echo "IMAGE_NAME=${IMAGE_NAME}" >> $GITHUB_ENV
75+
echo "IMAGE_TAG=${IMAGE_TAG}" >> $GITHUB_ENV
76+
77+
# Step 8: Push Docker Image
78+
- name: Push Docker Image
79+
run: |
80+
docker push $REGISTRY_URL/${IMAGE_NAME}:${IMAGE_TAG}
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: Build and Push Taxonomy Service Image
2+
3+
on:
4+
push:
5+
tags:
6+
- '*'
7+
8+
jobs:
9+
build-and-push:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
# Step 1: Checkout the code
14+
- name: Checkout code
15+
uses: actions/checkout@v2
16+
17+
# Step 2: Set up JDK 11 and Maven
18+
- name: Set up JDK 11 and Maven
19+
uses: actions/setup-java@v3
20+
with:
21+
distribution: 'temurin'
22+
java-version: '11'
23+
cache: 'maven'
24+
25+
# Step 4: Build the project
26+
- name: Build Taxonomy API Service
27+
run: |
28+
mvn clean install -DskipTests=true \
29+
-DCLOUD_STORE_GROUP_ID=${{ vars.CLOUD_STORE_GROUP_ID }} \
30+
-DCLOUD_STORE_ARTIFACT_ID=${{ vars.CLOUD_STORE_ARTIFACT_ID }} \
31+
-DCLOUD_STORE_VERSION=${{ vars.CLOUD_STORE_VERSION }}
32+
33+
# Step 5: Package the project
34+
- name: Package Taxonomy API Service
35+
run: |
36+
cd taxonomy-api
37+
mvn play2:dist -pl taxonomy-service \
38+
-DCLOUD_STORE_GROUP_ID=${{ vars.CLOUD_STORE_GROUP_ID }} \
39+
-DCLOUD_STORE_ARTIFACT_ID=${{ vars.CLOUD_STORE_ARTIFACT_ID }} \
40+
-DCLOUD_STORE_VERSION=${{ vars.CLOUD_STORE_VERSION }}
41+
42+
# Step 6: Set up Login to Docker registry
43+
- name: Determine registry and login
44+
run: |
45+
if [[ -n "${{ secrets.GCP_SERVICE_ACCOUNT_KEY }}" ]]; then
46+
echo "Using Google Container Registry"
47+
echo "${{ secrets.GCP_SERVICE_ACCOUNT_KEY }}" | base64 --decode > $HOME/gcloud-key.json
48+
gcloud auth activate-service-account --key-file=$HOME/gcloud-key.json
49+
gcloud auth configure-docker ${{ secrets.REGISTRY_NAME }}
50+
REGISTRY_URL=$(echo "${{ secrets.REGISTRY_URL }}" | tr '[:upper:]' '[:lower:]')
51+
52+
elif [[ -n "${{ secrets.REGISTRY_USERNAME }}" && -n "${{ secrets.REGISTRY_PASSWORD }}" ]]; then
53+
echo "Logging in to custom Docker registry"
54+
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ secrets.REGISTRY_NAME }} \
55+
--username ${{ secrets.REGISTRY_USERNAME }} --password-stdin
56+
REGISTRY_URL=$(echo "${{ secrets.REGISTRY_URL }}" | tr '[:upper:]' '[:lower:]')
57+
58+
else
59+
echo "Using GitHub Container Registry (GHCR)"
60+
REPO_NAME_LOWERCASE=$(echo "${GITHUB_REPOSITORY}" | tr '[:upper:]' '[:lower:]')
61+
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
62+
REGISTRY_URL="ghcr.io/$REPO_NAME_LOWERCASE"
63+
fi
64+
65+
echo "REGISTRY_URL=${REGISTRY_URL}" >> $GITHUB_ENV
66+
67+
# Step 7: Build Docker image
68+
- name: Build Docker Image
69+
run: |
70+
IMAGE_NAME="taxonomy-api"
71+
IMAGE_TAG=$(echo "${{ github.ref_name }}_$(echo $GITHUB_SHA | cut -c1-7)" | tr '[:upper:]' '[:lower:]')
72+
docker build -f build/taxonomy-service/Dockerfile -t $REGISTRY_URL/${IMAGE_NAME}:${IMAGE_TAG} .
73+
74+
echo "IMAGE_NAME=${IMAGE_NAME}" >> $GITHUB_ENV
75+
echo "IMAGE_TAG=${IMAGE_TAG}" >> $GITHUB_ENV
76+
77+
# Step 8: Push Docker Image
78+
- name: Push Docker Image
79+
run: |
80+
docker push $REGISTRY_URL/${IMAGE_NAME}:${IMAGE_TAG}

0 commit comments

Comments
 (0)