Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
138 changes: 55 additions & 83 deletions .github/workflows/cicd.yml
Original file line number Diff line number Diff line change
@@ -1,83 +1,55 @@

# name: Bank Backend Pipeline.

# on:
# push:
# branches:
# - main
# # pull_request:
# # branches:
# # - cicd

# jobs:
# Continues-Integration_build_and_push:
# runs-on: ubuntu-latest
# env:
# REGISTRY_NAME: ${{ secrets.REGISTRY_NAME }}
# AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
# AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
# AWS_REGION: us-east-1

# steps:
# - name: Checkout repository
# uses: actions/checkout@v3
# with:
# repository: digitalwitchdemo/main_bank_app_backend
# ref: main


# - name: Log in to awscli
# uses: aws-actions/configure-aws-credentials@v3
# with:
# aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
# aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
# aws-region: us-east-1


# - name: Build container image
# run: docker build -t bank-app-backend:latest .

# - name: Log in to ECR with short-lived credentials
# run: |
# aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin ${{ vars.ECR_REPO }}

# - name: Tag Docker image
# run: docker tag bank-app-backend:latest ${{ vars.ECR_REPO }}/bank-backendapi:${{ github.run_number }}

# - name: Push image to ECR
# run: docker push ${{ vars.ECR_REPO }}/bank-backendapi:${{ github.run_number }}


# - name: Clean up Docker image locally
# run: |
# docker rmi bank-app-backend:latest
# docker rmi ${{ vars.ECR_REPO }}/bank-backendapi:${{ github.run_number }}

# - name: Clean up GitHub repo on runner
# run: rm -rf ./*



# Continues-Update_k8s_manifest:
# runs-on: ubuntu-latest
# needs: Continues-Integration_build_and_push
# steps:
# - name: Checkout repository
# env:
# GIT_USERNAME: ${{ secrets.GIT_USERNAME }}
# GIT_PASSWORD: ${{ secrets.GIT_PASSWORD }}
# run: |
# git clone https://${GIT_USERNAME}:${GIT_PASSWORD}@github.com/digitalwitchdemo/kubernetes-manifest.git

# cd kubernetes-manifest
# git config --global user.email "chukwunonsosmartagbawo@gmail.com"
# git config --global user.name "smartcloud2023"

# sed -i "s+${{ vars.ECR_REPO }}/bank-backendapi:.*+${{ vars.ECR_REPO }}/bank-backendapi:${{ github.run_number }}+g" ./bank-project/backendapi.yaml

# cat ./bank-project/backendapi.yaml | grep -q "${{ vars.ECR_REPO }}/bank-backendapi:${{ github.run_number }}"

# git add bank-project/backendapi.yaml
# git commit -m "Update. backendapi image to version ${{ github.run_number }}"
# git push origin main

name: Bank Backend Pipeline

on:
push:
branches:
- main
- develop
pull_request:
branches:
- main
- develop

jobs:
build-and-test:
runs-on: ubuntu-latest
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: us-east-1

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'temurin'

- name: Run tests
run: mvn clean test

- name: Build with Maven
run: mvn clean package -DskipTests

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1

- name: Build Docker image
run: docker build -t bank-app-backend:latest .

- name: Login to ECR
run: aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin ${{ secrets.ECR_REGISTRY }}

- name: Tag Docker image
run: docker tag bank-app-backend:latest ${{ secrets.ECR_REGISTRY }}/bank-backendapi:${{ github.run_number }}

- name: Push to ECR (only on main branch)
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
run: docker push ${{ secrets.ECR_REGISTRY }}/bank-backendapi:${{ github.run_number }}
Loading