뭐야 왜 an 돼

API, serverless 와 깃허브 Actions로 AWS 자동 배포 설정 하기 본문

RESTful API

API, serverless 와 깃허브 Actions로 AWS 자동 배포 설정 하기

가메롱 2024. 5. 24. 16:55

오늘은 열심히 만든 API를 서버리스와 깃허브 Actions로

AWS 자동 배포 설정을 해봅시다!!

 

 

우선 서버리스 대시보드에 접속 하신 다음 좌측 하단에 톱니를 누르고 Access Keys 를 눌러줍니다.

 

 

위와 같은 화면에서 우측에 있는 +Add 를 눌러주세요

 

Name을 작명하고 Create를 눌러주면 서버리스의 Access Key 가 나올텐데 복사하신 후

메모장이나 구글 드라이브 같은 곳에 소중히 보관해줍시다.

 

 

 

서버리스의 Access Key를 잘 보관하셨다면 다음으로는 해당 레파지토리에 접속하여 Settings 를 눌러줍시다.

 

왼쪽 카테고리에서 Actions를 눌러주세요.

 

 

New repository secret 을 누른 다음.

 

      SERVERLESS_ACCESS_KEY : 서버리스 대시보드에서 받은 Access Key


      AWS_ACCESS_KEY_ID : AWS 에서 받은 Key ID
      AWS_SECRET_ACCESS_KEY : AWS 에서 받은 Key

 

를 생성해주셔야 합니다.  

 

 

원활한 자동 배포를 위해 위와 같이 이름을 정확히 적어주셔야 합니다.

 

 

다음으로 해당 레파지토리의 Actions 를 눌러주시고 화면의 set up a workflow yourself 링크 버튼으로 접속해주세요.

 

 

그럼 yml 파일 작성 화면이 나올텐데 

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

 

위의 소스를 그대로 복사 붙여넣기 해주시면 됩니다.

만약 로컬서버의 파이썬,서버리스 버전이 위의 구문과 다르다면 버전을 수정해주시면 됩니다.

 

 

Actions 에 들어가셔서 노란색 원을 눌러주시면

 

 

위 화면이 나올텐데 다시 노란색 원을 눌러주세요.

 

작동이 잘되고 있는지 확인 할 수 있습니다.

 

 

맨 아레에 이렇게 Complete job 이 나왔다면 성공적이라 볼 수 있습니다.

여기까지 잘 되지 않았다면 아까의 레파지토리 시크릿에 오타가 없는지 한 번 더 확인해봅시다.

 

테스트를 위해 API 리턴값에  'test' : 'hello' 라는 소스를 추가해주고 푸쉬를 해봅시다

 

 

Actions 에서 잘 된 모습을 확인해주고 포스트맨에서 배포한 url로 테스트를 해봅시다.

 

잘 출력되는 모습을 확인하실수 있습니다 !

 

읽어주셔서 감사합니다.