Skip to content

Commit

Permalink
actions변경
Browse files Browse the repository at this point in the history
  • Loading branch information
Criminal0627 committed Jan 2, 2025
1 parent 30f4a31 commit c02aed3
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 8 deletions.
44 changes: 36 additions & 8 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Build, Push, and Deploy Docker Image to EC2

on:
workflow_run:
workflows: ["Kotlin Lint Check"] # lint.yml이 끝난 후 실행dfd
workflows: ["Kotlin Lint Check"] # lint.yml이 끝난 후 실행
types:
- completed

Expand All @@ -15,24 +15,46 @@ jobs:
- name: Checkout code
uses: actions/checkout@v3

# 2. AWS 자격 증명 설정
- name: Install Docker Compose
run: |
sudo apt-get update
sudo apt-get install -y docker-compose
# 2. Docker Compose로 DB 시작
- name: Start Database with Docker Compose
run: |
docker-compose up -d mysql
working-directory: .

# 2. Gradle 빌드
- name: Build project
run: ./gradlew build

# 3. 빌드 결과 확인
- name: Verify build artifacts
run: ls -R build/libs

# 4. Docker 빌드 컨텍스트 준비
- name: Prepare Docker context
run: cp build/libs/*.jar .

# 5. AWS 자격 증명 설정
- name: Configure AWS credentials
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: ap-northeast-2

# 3. AWS ECR 로그인
# 6. AWS ECR 로그인
- name: Log in to Amazon ECR
uses: aws-actions/amazon-ecr-login@v1

# 4. 도커 이미지 빌드
# 7. 도커 이미지 빌드
- name: Build Docker image
run: |
docker build -t memo-with-tags-backend:latest .
run: docker build -t memo-with-tags-backend:latest .

# 5. 도커 이미지를 ECR로 푸시
# 8. 도커 이미지를 ECR로 푸시
- name: Push Docker image to ECR
run: |
REPOSITORY_URI=739275468912.dkr.ecr.ap-northeast-2.amazonaws.com/memo-with-tags
Expand All @@ -41,7 +63,7 @@ jobs:
docker tag memo-with-tags-backend:latest $REPOSITORY_URI:$TAG
docker push $REPOSITORY_URI:$TAG
# 6. EC2 서버에서 Docker 이미지 실행
# 9. EC2 서버에서 Docker 이미지 실행
- name: Deploy to EC2
run: |
ssh -o StrictHostKeyChecking=no ubuntu@${{ secrets.EC2_PUBLIC_IP }} << 'EOF'
Expand All @@ -56,3 +78,9 @@ jobs:
docker pull $REPOSITORY_URI:$TAG
docker run -d --name memo-with-tags-backend -p 80:80 $REPOSITORY_URI:$TAG
EOF
- name: Stop Database
run: |
docker-compose down
working-directory: .
1 change: 1 addition & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ COPY build/libs/memo-with-tags-0.0.1-SNAPSHOT.jar /app/memo-with-tags-0.0.1-SNAP

# 컨테이너가 시작될 때 실행될 명령어 설정
CMD ["java", "-jar", "your-app.jar"]

0 comments on commit c02aed3

Please sign in to comment.