본문 바로가기
GITHUB.COM

[Git] github Actions와 Serverless Framework로 AWS 배포 자동화하는 방법

by 처카푸 2024. 5. 24.

github Actions로 람다 Serverless AWS 배포 자동화하는 방법

 

1. 내가 자동화하고 싶은 레파지토리에 Settings에 들어간다.

 

2. 세팅 Secrets and variables에 Actions에 들어가서 서버 배포에 필요한 3가지 정보를 입력해 준다.

- Github 가 제공하는 컴퓨터 리눅스 우분투에 내가 만든 서버리스 프레임워크를 설치하는 것에 있어 필요한 정보들이다.

2-1. AWS_ACCESS_KEY_ID

- AWS IAM 서비스 액세스 키 정보 가져와서 적어준다.

2-2. AWS_SECRET_ACCESS_KEY

- AWS IAM 서비스 엑세스 키 만들 때 준 시크릿 키 정보도 적어준다

2-1. / 2-2.

2-3. SERVERLESS_ACCESS_KEY

- 나의 서버리스 들어가는 것에 필요한 Serverless 액세스 키를 발급받아서 적어준다.

- Serverless 홈페이지(https://www.serverless.com/)에 들어가서 로그인한다.

- 설정 -> Access Keys -> +Add로 새로운 액세스 키 생성

- 생성해서 나오는 비밀번호 키는 한번 보여주고 안 보여 주니, 나만 아는 곳에 잘 저장해 두자.

serverless access key

- 키 정보 깃에 적어준다.

- 3개의 중요한 정보 작성 완료!!!

 

3. 내가 자동화하고 싶은 레파지토리 파일 경로 알려준다.

- github.com에 actions에서 작성

- 나의 branches 확인하고, 작성하기

- .yml (야믈파일)은 클론과 들여 쓰기를 사용하여 작성되고, 환경설정할 때 많이 사용된다.와

 

- workflows 작성 방법

- 내가 설치한 서버리스 버전을 확인하고 맞는 버전으로 설치하는 코드를 작성해야 한다.

# 야믈파일 이름
name: Deploy sls app

# 내 깃허브 브렌치와 확인되면 아래 코드 푸쉬된다
on: 
  push:
    branches:
      - main

jobs:     
  deploy:
    runs-on: ubuntu-latest
    # 내가 만든 액션 키들
    env:
      SERVERLESS_ACCESS_KEY: ${{ secrets.SERVERLESS_ACCESS_KEY }}
      AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
      AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
    steps:
    - uses: actions/checkout@v3
    - name: install-python
      uses: actions/setup-python@v4
      with:
        python-version: '3.10'
    # 내 서버리스 버전 작성
    - name: install serverless
      run: npm i -g serverless@3.38.0
    - run: serverless plugin install -n serverless-wsgi
    - name: severless deploy
      run: sls deploy --verbose --force