반응형
< (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
- 키값 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
반응형
'API 개발 > API 개발 Project' 카테고리의 다른 글
API Project : (3) SNS 서비스 개발 (사진 포스팅 + 태그 자동 번역 기능) (8) | 2024.05.30 |
---|---|
API Project : (2) SNS 서비스 개발 (회원가입, 로그인, 로그아웃 기능) (0) | 2024.05.30 |
API Project : (2) 영화 추천 API 개발 (대용량 파일 Docker 서버 배포) (1) | 2024.05.29 |
API Project : (1) 영화 추천 API 개발 (DB 데이터 json으로 가져오기) (0) | 2024.05.29 |
API Project : 메모앱 API 서버 개발 (0) | 2024.05.29 |