https://dean83.tistory.com/369 에 이어서, AWS ECR 에 배포 까지만 하는 명령어의 예 이다.
도커를 사용한다는 전제하에 기본적인 과정을 한번 살펴 보자.
- 체크아웃 (현재 트리거된 브랜치 선택)
- 도커 빌드
- 도커 이미지:태그명 변경
- AWS 로그인을 위한 인증정보 생성
- 도커에서 AWS 인증정보를 통한 로그인
- ECR에 업로드
아래는 위의 과정을 수행한 예 이다. (자동 수행이 아닌 수동 수행으로 예시를 만들었음 - workflow-dispatch)
도커 이미지:태그명 변경을 하기 전에 해당 문자열이 길고 복잡하므로, echo 명령어 등을 통해 환경변수에 넣어둔다.
그 후, 실제 도커 이미지 변경시, 저장된 환경변수 값을 이용하여 변경한다.
name: Deploy Springboot App
on:
workflow_dispatch:
# push:
# branches:
# - main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name : Checkout code
#github 에 있는 모듈 사용. 체크아웃을 맨 처음에 넣어주는게 좋다.
uses: actions/checkout@v5
- name: build docker
run: docker build -t 이미지명:태그명 .
- name: to change tag, save envs
run: |
echo "ECR_REG=${{secrets.AWS_ACCOUNT_ID}}.dkr.ecr.${{secrets.AWS_REGION}}.amazonaws.com/" >> $GITHUB_ENV
echo "ECR_REPO=${{secrets.AWS_REPO_NAME}}" >> $GITHUB_ENV
echo "IMAGE_TAG=$(date+'%Y%m%d%H%M%S')-${GITHUB_SHA::8}" >> $GITHUB_ENV
- name: change tag from env
run: |
docker tag 이미지명:태그명 ${{env.ECR_REG}}${{env.ECR_REPO}}:${{env.IMAGE_TAG}}
docker tag 이미지명:태그명 ${{env.ECR_REG}}${{env.ECR_REPO}}:latest
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v5.1.0
with:
#gitgub settings 에서 미리 입력한 secret 값들을 이용
aws-access-key-id: ${{ secrets.AWS_DEPLOY_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_DEPLOY_SECRET_KEY }}
aws-region: ${{ secrets.AWS_REGION }}
- name : docker login
id : login-ecr
uses : aws-actions/amazon-ecr-login@v2
- name : push
run: |
docker push ${{env.ECR_REG}}${{env.ECR_REPO}}:${{env.IMAGE_TAG}}
docker push ${{env.ECR_REG}}${{env.ECR_REPO}}:latest'Backend > 공통' 카테고리의 다른 글
| 쿠키 및 세션 보안 관련 (CSRF 등) (0) | 2025.12.12 |
|---|---|
| Github Action을 통한 AWS CI/CD (3) (0) | 2025.11.11 |
| Github Action을 통한 AWS CI/CD (1) (0) | 2025.11.11 |
| EC2, RDS 등 컴퓨팅 설정 및 ECS 설명 (0) | 2025.11.07 |
| REST API, RESTful API (0) | 2025.09.19 |