< (7) Serverless Framework와
Github Actions 를 이용한 AWS 자동 배포 >
# 이전장까지 하여서 수동배포는 모두 진행해 보았고, 자동 배포하는법을 진행
- EC2 때와 동일하게 Github Actions를 이용
# 깃허브로 이동전에 serverless framework 화면에서 로그인
- 참고 URL : https://www.serverless.com/
# 서버리스 Access Keys 값이 필요하다!
- 로그인후 설정 > Access Keys > Add 로 github actions에 사용할 키값 생성
- 생성된 키값은 절대 잃어버리지 말고 따로 저장!
# 이제 깃허브 화면으로 가서 actions 설정 진행
- AWS_ACCESS_KEY_ID와 AWS_SECRET_ACCESS_KEY 그리고 SERVERLESS_ACCESS_KEY는 보안이 중요함으로 깃허브 시스템의 Actions secrets에 저장해 사용
- 자동 배포할 서버의 레파지토리로 이동
- Settings 좌측 하단의 Screts and variables > Actions > New repository secret를 선택
- 키값 마다 각각 생성
# 생성이 완료되었으면 Actions에서 New workflow를 작성해 준다.
- 자세한 작성법은 이전글 참고 (https://sorktjrrb.tistory.com/82)
- 양식은 정해져 있다 그대로 복사해서 수정할 부분 (이름이나 버전)만 바꾸고 그대로 사용하면됨
- 특히 python 버전이나 serverless 버전은 로컬에서 설치한 버전과 동일해야 정상적으로 동작되므로 유의해서 확인하고 본인에 환경에 맞게 수정하여서 사용해야 한다!
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
- name: severless deploy
run: sls deploy --verbose --force
# 작성을 완료하고 저장하면 순서대로 서버에 업로드가 진행되는것이 확인 가능
- 이후에 성공하면 list가 생성되면서 이후에는 commit & pust 동작을 할경우 자동으로 적용됨
# 수정사항 적용 확인 (postman)
이렇게 자동배포 까지 모두 완료!
'API 개발 > AWS Lambda API 배포' 카테고리의 다른 글
AWS Lambda : 기본 설정 편집 (제한 시간 늘리기) (0) | 2024.05.30 |
---|---|
AWS Lambda : (8) API 게이트웨이 & CloudWatch (배포&오류 확인) (0) | 2024.05.29 |
AWS Lambda : (6) Github repositoried 연동 (Personal Access Token) (0) | 2024.05.27 |
AWS Lambda : (5) 배포된 서버 포스트맨으로 테스트 (0) | 2024.05.27 |
AWS Lambda : (4) 배포 전 수정 사항 & 한국 서버로 배포 방법 (0) | 2024.05.27 |