Skip to content

πŸ” CI νŒŒμ΄ν”„λΌμΈ ꡬ좕 (#224) #247

πŸ” CI νŒŒμ΄ν”„λΌμΈ ꡬ좕 (#224)

πŸ” CI νŒŒμ΄ν”„λΌμΈ ꡬ좕 (#224) #247

Workflow file for this run

name: CI/CD Pipeline for Spring Boot
on:
push:
branches:
- develop
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v3
with:
token: ${{ secrets.TOKEN_GITHUB }}
submodules: true
- name: Set up JDK 17
uses: actions/setup-java@v1
with:
java-version: 17
- name: Grant execute permission for gradlew
run: chmod +x ./ahachul_backend/gradlew
shell: bash
- name: Build with Gradle
run: cd ./ahachul_backend && SPRING_PROFILES_ACTIVE=test ./gradlew clean copyDocument jar build
shell: bash
- name: Upload build artifact (JAR and Dockerfile)
uses: actions/upload-artifact@v3
with:
name: app-artifacts
path: |
./ahachul_backend/build/libs/*.jar
./ahachul_backend/Dockerfile
dockerize:
runs-on: ubuntu-latest
needs: build
steps:
- name: Download build artifact
uses: actions/download-artifact@v3
with:
name: app-artifacts
- 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: ${{ secrets.AWS_REGION }}
- name: Log in to Amazon ECR Public
run: |
aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin ${{ secrets.ECR_REPOSITORY_URI }}
- name: Build Docker image
run: docker build -t ${{ secrets.ECR_REPOSITORY_URI }}:latest .
- name: Push Docker image to Amazon ECR
run: docker push ${{ secrets.ECR_REPOSITORY_URI }}:latest