Skip to content

Commit 014aa5a

Browse files
committed
Updated with a composite reusable workflow.
1 parent 13afee5 commit 014aa5a

File tree

4 files changed

+47
-86
lines changed

4 files changed

+47
-86
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: "Registry Login"
2+
description: "Reusable action for logging in to container registries using workflow vars and secrets"
3+
runs:
4+
using: "composite"
5+
steps:
6+
- run: |
7+
case "${{ vars.REGISTRY_PROVIDER }}" in
8+
"gcp")
9+
echo "Using Google Container Registry"
10+
echo "${{ secrets.GCP_SERVICE_ACCOUNT_KEY }}" | base64 --decode > $HOME/gcloud-key.json
11+
gcloud auth activate-service-account --key-file=$HOME/gcloud-key.json
12+
gcloud auth configure-docker ${{ secrets.REGISTRY_NAME }}
13+
REGISTRY_URL=$(echo "${{ secrets.REGISTRY_URL }}" | tr '[:upper:]' '[:lower:]')
14+
;;
15+
"azure" | "dockerhub")
16+
echo "Logging in to Container Registry"
17+
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ secrets.REGISTRY_NAME }} \
18+
--username ${{ secrets.REGISTRY_USERNAME }} --password-stdin
19+
REGISTRY_URL=$(echo "${{ secrets.REGISTRY_URL }}" | tr '[:upper:]' '[:lower:]')
20+
;;
21+
*)
22+
echo "Using GitHub Container Registry (GHCR)"
23+
REPO_NAME_LOWERCASE=$(echo "${GITHUB_REPOSITORY}" | tr '[:upper:]' '[:lower:]')
24+
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
25+
REGISTRY_URL="ghcr.io/$REPO_NAME_LOWERCASE"
26+
;;
27+
esac
28+
echo "REGISTRY_URL=${REGISTRY_URL}" >> $GITHUB_ENV
29+
shell: bash

.github/workflows/content-service.yml

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -40,31 +40,8 @@ jobs:
4040
-DCLOUD_STORE_VERSION=${{ vars.CLOUD_STORE_VERSION }}
4141
4242
# Step 5: Set up Login to Docker registry
43-
- name: Determine registry and login
44-
run: |
45-
case "${{ vars.REGISTRY_PROVIDER }}" in
46-
"gcp")
47-
echo "Using Google Container Registry"
48-
echo "${{ secrets.GCP_SERVICE_ACCOUNT_KEY }}" | base64 --decode > $HOME/gcloud-key.json
49-
gcloud auth activate-service-account --key-file=$HOME/gcloud-key.json
50-
gcloud auth configure-docker ${{ secrets.REGISTRY_NAME }}
51-
REGISTRY_URL=$(echo "${{ secrets.REGISTRY_URL }}" | tr '[:upper:]' '[:lower:]')
52-
;;
53-
"azure" | "dockerhub")
54-
echo "Logging in to Container Registry"
55-
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ secrets.REGISTRY_NAME }} \
56-
--username ${{ secrets.REGISTRY_USERNAME }} --password-stdin
57-
REGISTRY_URL=$(echo "${{ secrets.REGISTRY_URL }}" | tr '[:upper:]' '[:lower:]')
58-
;;
59-
*)
60-
echo "Using GitHub Container Registry (GHCR)"
61-
REPO_NAME_LOWERCASE=$(echo "${GITHUB_REPOSITORY}" | tr '[:upper:]' '[:lower:]')
62-
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
63-
REGISTRY_URL="ghcr.io/$REPO_NAME_LOWERCASE"
64-
;;
65-
esac
66-
67-
echo "REGISTRY_URL=${REGISTRY_URL}" >> $GITHUB_ENV
43+
- name: Container Registry Login
44+
uses: ./.github/actions/registry-login-action.yaml
6845

6946
# Step 6: Build Docker image
7047
- name: Build Docker Image
@@ -75,7 +52,8 @@ jobs:
7552
7653
echo "IMAGE_NAME=${IMAGE_NAME}" >> $GITHUB_ENV
7754
echo "IMAGE_TAG=${IMAGE_TAG}" >> $GITHUB_ENV
78-
55+
56+
# Step 7: Push Docker Image
7957
- name: Push Docker Image
8058
run: |
8159
docker push $REGISTRY_URL/${IMAGE_NAME}:${IMAGE_TAG}

.github/workflows/search-service.yml

Lines changed: 7 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,15 @@ jobs:
2222
java-version: '11'
2323
cache: 'maven'
2424

25-
# Step 4: Build the project
25+
# Step 3: Build the project
2626
- name: Build Search API Service
2727
run: |
2828
mvn clean install -DskipTests=true \
2929
-DCLOUD_STORE_GROUP_ID=${{ vars.CLOUD_STORE_GROUP_ID }} \
3030
-DCLOUD_STORE_ARTIFACT_ID=${{ vars.CLOUD_STORE_ARTIFACT_ID }} \
3131
-DCLOUD_STORE_VERSION=${{ vars.CLOUD_STORE_VERSION }}
3232
33-
# Step 5: Package the project
33+
# Step 4: Package the project
3434
- name: Package Search API Service
3535
run: |
3636
cd search-api
@@ -39,34 +39,11 @@ jobs:
3939
-DCLOUD_STORE_ARTIFACT_ID=${{ vars.CLOUD_STORE_ARTIFACT_ID }} \
4040
-DCLOUD_STORE_VERSION=${{ vars.CLOUD_STORE_VERSION }}
4141
42-
# Step 6: Set up Login to Docker registry
43-
- name: Determine registry and login
44-
run: |
45-
case "${{ vars.REGISTRY_PROVIDER }}" in
46-
"gcp")
47-
echo "Using Google Container Registry"
48-
echo "${{ secrets.GCP_SERVICE_ACCOUNT_KEY }}" | base64 --decode > $HOME/gcloud-key.json
49-
gcloud auth activate-service-account --key-file=$HOME/gcloud-key.json
50-
gcloud auth configure-docker ${{ secrets.REGISTRY_NAME }}
51-
REGISTRY_URL=$(echo "${{ secrets.REGISTRY_URL }}" | tr '[:upper:]' '[:lower:]')
52-
;;
53-
"azure" | "dockerhub")
54-
echo "Logging in to Container Registry"
55-
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ secrets.REGISTRY_NAME }} \
56-
--username ${{ secrets.REGISTRY_USERNAME }} --password-stdin
57-
REGISTRY_URL=$(echo "${{ secrets.REGISTRY_URL }}" | tr '[:upper:]' '[:lower:]')
58-
;;
59-
*)
60-
echo "Using GitHub Container Registry (GHCR)"
61-
REPO_NAME_LOWERCASE=$(echo "${GITHUB_REPOSITORY}" | tr '[:upper:]' '[:lower:]')
62-
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
63-
REGISTRY_URL="ghcr.io/$REPO_NAME_LOWERCASE"
64-
;;
65-
esac
66-
67-
echo "REGISTRY_URL=${REGISTRY_URL}" >> $GITHUB_ENV
42+
# Step 5: Set up Login to Docker registry
43+
- name: Container Registry Login
44+
uses: ./.github/actions/registry-login-action.yaml
6845

69-
# Step 7: Build Docker image
46+
# Step 6: Build Docker image
7047
- name: Build Docker Image
7148
run: |
7249
IMAGE_NAME="search-api"
@@ -76,7 +53,7 @@ jobs:
7653
echo "IMAGE_NAME=${IMAGE_NAME}" >> $GITHUB_ENV
7754
echo "IMAGE_TAG=${IMAGE_TAG}" >> $GITHUB_ENV
7855
79-
# Step 8: Push Docker Image
56+
# Step 7: Push Docker Image
8057
- name: Push Docker Image
8158
run: |
8259
docker push $REGISTRY_URL/${IMAGE_NAME}:${IMAGE_TAG}

.github/workflows/taxonomy-service.yml

Lines changed: 7 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,15 @@ jobs:
2222
java-version: '11'
2323
cache: 'maven'
2424

25-
# Step 4: Build the project
25+
# Step 3: Build the project
2626
- name: Build Taxonomy API Service
2727
run: |
2828
mvn clean install -DskipTests=true \
2929
-DCLOUD_STORE_GROUP_ID=${{ vars.CLOUD_STORE_GROUP_ID }} \
3030
-DCLOUD_STORE_ARTIFACT_ID=${{ vars.CLOUD_STORE_ARTIFACT_ID }} \
3131
-DCLOUD_STORE_VERSION=${{ vars.CLOUD_STORE_VERSION }}
3232
33-
# Step 5: Package the project
33+
# Step 4: Package the project
3434
- name: Package Taxonomy API Service
3535
run: |
3636
cd taxonomy-api
@@ -39,34 +39,11 @@ jobs:
3939
-DCLOUD_STORE_ARTIFACT_ID=${{ vars.CLOUD_STORE_ARTIFACT_ID }} \
4040
-DCLOUD_STORE_VERSION=${{ vars.CLOUD_STORE_VERSION }}
4141
42-
# Step 6: Set up Login to Docker registry
43-
- name: Determine registry and login
44-
run: |
45-
case "${{ vars.REGISTRY_PROVIDER }}" in
46-
"gcp")
47-
echo "Using Google Container Registry"
48-
echo "${{ secrets.GCP_SERVICE_ACCOUNT_KEY }}" | base64 --decode > $HOME/gcloud-key.json
49-
gcloud auth activate-service-account --key-file=$HOME/gcloud-key.json
50-
gcloud auth configure-docker ${{ secrets.REGISTRY_NAME }}
51-
REGISTRY_URL=$(echo "${{ secrets.REGISTRY_URL }}" | tr '[:upper:]' '[:lower:]')
52-
;;
53-
"azure" | "dockerhub")
54-
echo "Logging in to Container Registry"
55-
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ secrets.REGISTRY_NAME }} \
56-
--username ${{ secrets.REGISTRY_USERNAME }} --password-stdin
57-
REGISTRY_URL=$(echo "${{ secrets.REGISTRY_URL }}" | tr '[:upper:]' '[:lower:]')
58-
;;
59-
*)
60-
echo "Using GitHub Container Registry (GHCR)"
61-
REPO_NAME_LOWERCASE=$(echo "${GITHUB_REPOSITORY}" | tr '[:upper:]' '[:lower:]')
62-
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
63-
REGISTRY_URL="ghcr.io/$REPO_NAME_LOWERCASE"
64-
;;
65-
esac
66-
67-
echo "REGISTRY_URL=${REGISTRY_URL}" >> $GITHUB_ENV
42+
# Step 5: Set up Login to Docker registry
43+
- name: Container Registry Login
44+
uses: ./.github/actions/registry-login-action.yaml
6845

69-
# Step 7: Build Docker image
46+
# Step 6: Build Docker image
7047
- name: Build Docker Image
7148
run: |
7249
IMAGE_NAME="taxonomy-api"
@@ -76,7 +53,7 @@ jobs:
7653
echo "IMAGE_NAME=${IMAGE_NAME}" >> $GITHUB_ENV
7754
echo "IMAGE_TAG=${IMAGE_TAG}" >> $GITHUB_ENV
7855
79-
# Step 8: Push Docker Image
56+
# Step 7: Push Docker Image
8057
- name: Push Docker Image
8158
run: |
8259
docker push $REGISTRY_URL/${IMAGE_NAME}:${IMAGE_TAG}

0 commit comments

Comments
 (0)