Skip to content

Commit

Permalink
test
Browse files Browse the repository at this point in the history
  • Loading branch information
Hellol77 committed Sep 14, 2024
1 parent 0537c45 commit 6ba71e1
Show file tree
Hide file tree
Showing 6 changed files with 91 additions and 11 deletions.
74 changes: 74 additions & 0 deletions .github/workflows/backend-prod-cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: Siso - 밸런스 게임 벡엔드 배포 자동화 워크 플로우(backend-prod)

on:
push:
branches: ["main"]

permissions:
checks: write

jobs:
detect-changes:
runs-on: ubuntu-latest
permissions:
pull-requests: read
outputs:
backend: ${{ steps.filter.outputs.backend }} # backend 변경 여부를 출력으로 설정
frontend: ${{ steps.filter.outputs.frontend }} # frontend 변경 여부를 출력으로 설정
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # 모든 Git 히스토리를 가져옴
- name: Get previous tag
id: previoustag
run: echo "PREVIOUS_TAG=$(git describe --tags --abbrev=0 HEAD^ --always)" >> $GITHUB_OUTPUT
# 이전 태그를 찾아서 환경 변수로 저장
- uses: dorny/paths-filter@v3
id: filter
with:
base: ${{ steps.previoustag.outputs.PREVIOUS_TAG }} # 이전 태그 기준
ref: ${{ github.ref }} # 현재 GitHub 참조(커밋, 태그 등)
filters: |
backend:
- 'backend/**'
frontend:
- 'frontend/**'
docker-deploy:
needs: detect-changes
if: ${{ needs.detect-changes.outputs.backend == 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Docker hub 로그인
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Docker 이미지 빌드 및 푸시
run: |
docker build -t ${{ secrets.DOCKER_USERNAME }}/siso-backend:latest ./backend
docker push ${{ secrets.DOCKER_USERNAME }}/siso-backend:latest
ec2-deploy:
needs: docker-deploy
runs-on: ubuntu-latest
steps:
- name: EC2에 배포
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EC2_HOST }}
username: ${{ secrets.EC2_USERNAME }}
key: ${{ secrets.EC2_KEY }}
port: ${{ secrets.SSH_PORT }}
script: |
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
docker pull ${{ secrets.DOCKER_USERNAME }}/siso-backend:latest
docker stop siso-backend || true
docker rm siso-backend || true
docker run -d --env-file /home/ubuntu/env/backend.env -p 80:80 --name siso-backend ${{ secrets.DOCKER_USERNAME }}/siso-backend:latest
3 changes: 3 additions & 0 deletions backend/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.git
*Dockerfile*
node_modules
8 changes: 8 additions & 0 deletions backend/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM node:18
RUN mkdir -p /var/app
WORKDIR /var/app
COPY . .
RUN npm install
RUN npm run build
EXPOSE 80
CMD [ "node", "dist/main.js" ]
10 changes: 0 additions & 10 deletions backend/src/auth/auth.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,4 @@ export class AuthService {
expiresIn: process.env.JWT_EXPIRES_IN,
});
}

// async generateRefreshToken(user: User): Promise<string> {
// const payload = {
// userId: user.user_id,
// };

// const refreshToken = this.jwtService.sign(payload);

// return refreshToken;
// }
}
2 changes: 1 addition & 1 deletion backend/src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { Logger } from '@nestjs/common';

async function bootstrap() {
const logger = new Logger();
const port = 8080;
const port = 80;
const app = await NestFactory.create(AppModule);
await app.listen(port);
logger.log(`Application is running on: ${port}`);
Expand Down
5 changes: 5 additions & 0 deletions backend/src/user/user.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,9 @@ export class UserController {
this.logger.log('Handling create user');
return this.userService.createUser(createUserDto);
}

@Get('/ping')
ping(): string {
return 'ping';
}
}

0 comments on commit 6ba71e1

Please sign in to comment.