API 개발/API 개발 Project

API Project : (1) SNS 서비스 개발 (기본 세팅부터 진행!)

신강희 2024. 5. 29. 17:53
728x90

< (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을 포스트맨에 넣어보고 테스트해서 문구가 출력되면 이상 없는것..!

 

이제 기본 준비 완료!

다음 게시글로 계속~!

 

반응형