Express + PostgreSQL + Sequelize + Docker + AWS RDS + GitHub Actions CI/CD
PORT=4000
DATABASE_URL=postgres://postgres:<비밀번호>@<RDS엔드포인트>:5432/postgres
JWT_SECRET = 비밀
EC2에서 작업하지 않고 로컬에서 작업할 경우 안될 때 .env 파일 확인하기
# 3️⃣ Docker로 실행
docker-compose up -d --build
# 4️⃣ 로그 보기
docker logs genians-backend
# 5️⃣ Docker 전체 중지
docker-compose down
# 🔹 EC2에서 들어갈 때 명령어
psql -h <RDS엔드포인트> -U postgres -d postgres
# 🔹 테이블 확인
\dt
# 🔹 데이터 확인
SELECT * FROM users;
SELECT * FROM company;
SELECT * FROM tickets;
# 🔹 dump(백업)
sudo docker exec -t postgres_db pg_dump -U postgres genians > /home/ubuntu/genians_backup.sql
# 🔹 dump 복원
psql -h <RDS엔드포인트> -U postgres -d postgres -f /home/ubuntu/genians_backup.sql
# GitHub & 배포
# 🔹 develop 브랜치 기준
git rm -r --cached node_modules .env
git pull origin develop
git add .
git commit -m "(이건 알아서 작성)"
git push origin develop
#API 테스트 예시
# 로그인
POST http://<EC2_IP>:4000/api/v1/auth/login
Content-Type: application/json
{
"email": "[email protected]",
"password": "1234"
}
# 티켓 생성
POST http://<EC2_IP>:4000/api/v1/tickets
Authorization: Bearer <JWT_TOKEN>
Content-Type: application/json
{
"title": "서버 점검 요청",
"description": "RDS 연결 이슈 발생",
"company_id": "1"
}