Skip to content

Commit

Permalink
Merge pull request #188 from GeunH/feature/be-deploy
Browse files Browse the repository at this point in the history
feat : docker를 이용한 자동 배포 설정 #35
  • Loading branch information
GeunH authored Dec 3, 2023
2 parents f245374 + 27403e7 commit 96557ac
Show file tree
Hide file tree
Showing 3 changed files with 96 additions and 0 deletions.
50 changes: 50 additions & 0 deletions .github/workflows/be-autodeploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: auto deploy

on:
push:
branches:
- dev

jobs:
push_to_registry:
name: Push to ncp container registry
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to NCP Container Registry
uses: docker/login-action@v2
with:
registry: ${{ secrets.NCP_CONTAINER_REGISTRY }}
username: ${{ secrets.NCP_ACCESS_KEY }}
password: ${{ secrets.NCP_SECRET_KEY }}
- name: build and push
uses: docker/build-push-action@v3
with:
context: .
file: ./Dockerfile
push: true
tags: ${{ secrets.NCP_CONTAINER_REGISTRY }}/nibobnebob:latest
cache-from: type=registry,ref=${{ secrets.NCP_CONTAINER_REGISTRY }}/nibobnebob:latest
cache-to: type=inline

pull_from_registry:
name: Connect server ssh and pull from container registry
needs: push_to_registry
runs-on: ubuntu-latest
steps:
- name: connect ssh
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.DEV_HOST }}
username: ${{ secrets.DEV_USERNAME }}
password: ${{ secrets.DEV_PASSWORD }}
port: ${{ secrets.DEV_PORT }}
script: |
docker pull ${{ secrets.NCP_CONTAINER_REGISTRY }}/nibobnebob
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker run -d -p 8000:80 ${{ secrets.NCP_CONTAINER_REGISTRY }}/nibobnebob
docker image prune -f
23 changes: 23 additions & 0 deletions be/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# 베이스 이미지 선택
FROM node:20

# 작업 디렉토리 설정
WORKDIR /usr/src/app

# 종속성 파일 복사 (package.json 및 package-lock.json)
COPY package*.json ./

# 종속성 설치
RUN npm install

# 애플리케이션 소스 코드 복사
COPY . .

# TypeScript 컴파일
RUN npm run build

# 애플리케이션 실행 포트 지정
EXPOSE 8000

# 애플리케이션 실행 명령어
CMD ["node", "dist/src/main"]
23 changes: 23 additions & 0 deletions be/dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*

0 comments on commit 96557ac

Please sign in to comment.