Skip to content

Update README.md

Update README.md #12

Workflow file for this run

name: CI/CD for AWS ECR
on:
push:
branches:
- main # main 브랜치에 푸시될 때 실행
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: 코드 체크아웃
uses: actions/checkout@v3
- name: 환경 변수 파일(.env) 생성
run: |
echo "AWS_ACCESS_KEY=${{ secrets.AWS_ACCESS_KEY }}" >> .env
echo "AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }}" >> .env
echo "ECR_REGISTRY=${{ secrets.ECR_REGISTRY }}" >> .env
echo "JWT_SECRET_KEY=${{ secrets.JWT_SECRET_KEY }}" >> .env
echo "SPRING_DATASOURCE_URL=${{ secrets.SPRING_DATASOURCE_URL }}" >> .env
echo "SPRING_DATASOURCE_PASSWORD=${{ secrets.SPRING_DATASOURCE_PASSWORD }}" >> .env
echo "coolsms-api-key=${{ secrets.coolsms-api-key }}" >> .env
echo "coolsms-api-secret=${{ secrets.coolsms-api-secret }}" >> .env
echo "encryption_key=${{ secrets.encryption_key }}" >> .env
- name: Java 17 환경 설정 (Corretto)
uses: actions/setup-java@v3
with:
distribution: 'corretto'
java-version: '17'
- name: Gradle 빌드 실행
run: |
chmod +x gradlew
./gradlew build --no-daemon
- name: 빌드 결과 확인
run: ls -R build/libs/
docker:
needs: build
runs-on: ubuntu-latest
if: always() # 항상 실행되도록 설정
steps:
- name: 코드 체크아웃
uses: actions/checkout@v3
- name: AWS 로그인 설정
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: ap-northeast-2 # AWS 리전 (서울)
- name: ECR 로그인
run: |
aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin ${{ secrets.ECR_REGISTRY }}
- name: Docker 이미지 빌드 및 태깅
run: |
docker build -t my-app .
docker tag my-app ${{ secrets.ECR_REGISTRY }}:latest
- name: Docker 이미지 ECR로 푸시
run: |
docker push ${{ secrets.ECR_REGISTRY }}:latest
- name: 환경 변수 파일 삭제 (보안 강화)
run: rm -f .env