Github를 활용하여 많은 것들을 할 수 있지만, 오늘은 Github Action으로 ECR에 image를 push 해보도록 하겠습니다.
자세하게 설명되어 있으나 이해가 안 되는 것이나 모르는 것들은 댓글로 질문해 주세요.
1. Github Repository 생성
일단 자신의 Github로 login 합니다.
Repositories -> New 클릭하여 생성 페이지로 넘어갑니다.

원하는 Repository name을 적고, repository를 생성해줍니다. 명령어로 코드들을 업로드 하기에는 귀찮기 때문에 README file도 생성하겠습니다.

2. 생성한 Repository에 Secret 생성
생성한 Repository에 Github Action에 사용할 Access key를 넣어줍니다.
Repository에 Secrets을 추가하는 방법은 아래 사이트에 자세하게 나와있으니 아래 블로그를 참고하시길 바라겠습니다.
[Github] Repository에 Secrets를 추가하는 방법
Github 관련 글을 읽다가 Repository에 Environment 혹은 Secrets을 추가하는 글이 많지만, 자세하게 설명해주는 글이 없어 이 글을 사용하게 되었습니다. [ 목차 ]1. Secrets 설정 위치2. Secrets 생성하는 방법3
story0410.tistory.com

3. Github Action yml 파일 생성
secret 추가 후 다시 Code 돌아와서 이제 yml 파일을 작성해봅시다.

생성 페이지로 넘어가면 .github/workflows/aws.yml라고 적으시고, 아래 code를 복사하여 넣은 후 commit changes를 클릭하여 파일을 생성해주면 됩니다. code에 주석을 확인하여 자신의 값으로 변경해야 합니다. 참고로 ECR Repository는 자신이 원하는 이름으로 미리 생성해두셔야 합니다. ECR Repository를 생성하는 방법은 간단하기 때문에 따로 정리해두지 않겠습니다.
name: Deploy to Amazon ECR
on:
push:
branches:
- "main"
env:
AWS_REGION: "us-east-1" # ECR이 존재하는 Region 입력
ECR_REPOSITORY: "app-runner" # 생성해둔 ECR의 이름 설정
IMAGE_TAG: latest # ECR에 push 할 때 무슨 Tag로 push 할지 설정
permissions:
contents: read
jobs:
deploy:
name: Deploy
runs-on: ubuntu-latest
environment: production
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ env.AWS_REGION }}
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v1
- name: Build, tag, and push image to Amazon ECR
id: build-image
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
run: |
docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:${{ env.IMAGE_TAG }} .
docker push $ECR_REGISTRY/$ECR_REPOSITORY:${{ env.IMAGE_TAG }}
echo "::set-output name=image::$ECR_REGISTRY/$ECR_REPOSITORY:${{ env.IMAGE_TAG }}"

Secrets을 정상적으로 생성하였다면, Action을 클릭하였을 때 아래 사진과 같이 체크 표시가 뜨게 됩니다.

이상 Github Action으로 ECR image에 push하는 방법을 알아봤습니다. 글을 읽어주셔서 감사합니다.
'Github' 카테고리의 다른 글
| [Github] Repository에 Secrets를 추가하는 방법 (0) | 2024.10.21 |
|---|