개발학습일지

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

Git

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

처카푸 2024. 5. 24. 17:02

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