API 개발/API 개발 Project
API Project : (1) SNS 서비스 개발 (기본 세팅부터 진행!)
신강희
2024. 5. 29. 17:53
반응형
< (1) SNS 서비스 개발 (기본 세팅부터 진행!) >
# 마지막 프로젝트!!
- 처음부터 하나씩 다정리해서 자세하게 작성
# DB 생성
# 전용 커넥터 생성
use mysql;
create user 'sns_db_user'@'%' identified by'2345';
grant ALL privileges on sns_db.* to 'sns_db_user'@'%';
# 우선 users 테이블 먼저 생성
# serverless로 폴더 생성하여 VSC 실행
- app.py 에서 인터프린터 생성한 가상환경으로 변경
# docker 만들어서 자동화 배포까지 미리 실행
- 이전에 배포한 파일에서 Dockerfile 과 .dockerignore 그대로 복사
- serverless.yml과 requirements.txt는 수정
# serverless.yml
service: aws-movie-server
frameworkVersion: '3'
custom:
wsgi:
app: app.app
provider:
name: aws
region : ap-northeast-2
ecr:
images:
appimage:
path: ./
functions:
api:
image:
name: appimage
timeout: 120
events:
- httpApi: '*'
# requirements.txt 파일
Flask==1.1.4
Werkzeug==1.0.1
markupsafe==2.0.1
serverless-wsgi
flask-restful
mysql-connector-python
psycopg-binary
passlib
flask-jwt-extended
email-validator
# Git에서 레파지토리 생성하고 Git 연동까지 진행
# 한줄씩 진행
# 초기화
git init
# .gitignore 복사해서 붙여넣고 (node_modules/ 있는지 꼭 확인!)
git add *
git
git commit -m "init"
git branch -M main
git remote add origin https://아이디:토큰@github.com/sorktjrrb/aws-sns-server.git
git push -u origin main
# Git Actions도 미리 만들어서 자동화까지 적용되는거 미리 확인하자
- 참고 : https://sorktjrrb.tistory.com/151
AWS Lambda : (7) Serverless Framework와 Github Actions 를 이용한 AWS 자동 배포
Github Actions 를 이용한 AWS 자동 배포 > # 이전장까지 하여서 수동배포는 모두 진행해 보았고, 자동 배포하는법을 진행- EC2 때와 동일하게 Github Actions를 이용 # 깃허브로 이동전에 serverless fram
sorktjrrb.tistory.com
- 키값 3개 생성 완료하고,
- Actions에서 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
- name: severless deploy
run: sls deploy --verbose --force
# 그럼 Actions가 동작되면서 배포가 완료되고 endpoint 확인되면 배포 완료!
# 앤드포인트 url을 포스트맨에 넣어보고 테스트해서 문구가 출력되면 이상 없는것..!
이제 기본 준비 완료!
다음 게시글로 계속~!
728x90
반응형