본문 바로가기
GIthub/Github action 자동배포

[api]Serverlesss Framwork github Actions 이용한 AWS Lambda자동배포

by 코끼리똥11 2024. 5. 24.

 

guthub에 소스코드를 작성한 repositiry에 들어간 후 설정- > 좌측 Secret and variavles - > actions를 누른후 repository secret을 생성한다.

AWS_ACCESS_KEY_ID

AWS_SECRET_ACCESS_KEY

SERVERLESS_ACCESS_KEY

세개를 만들건데

AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY 2개는 AWS RDS를 만들때 받은 

api_dev_accessKey.csv 파일에 있는 패스워드를 입력한다.

 

SERVERLESS_ACCESS_KEY는 서버리스 홈페이지에 들어간 후 ACCESS_KEY를 발급 받아야한다.

 

 

서버리스 로그인 후 좌측 톱니바퀴 버튼을 누른다.

상단에 AccessKEy를 누르고 Add 후 나온 키를 메모해둔 후 아까 github action SERVERLESS_ACCESS_KEY 에 입력한다.

 

다시 깃허브 레파지토리에 들어가 set up a workflow yourself를 누른다.

 

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

branches 이름, 파이썬 버전, serverless 버전이 맞는지 확인 후  commint changes 를 누르면 자동 배포가 완료된다.

 

 

 

확인하기위해 코드를 수정 후 다시 배포해본다.

완료되면 test:hello 라는 문구가 뜨게했다.

 

코드를 배포 후 postman에서 확인하면 

바뀐것을 볼 수 있다.