-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #188 from GeunH/feature/be-deploy
feat : docker를 이용한 자동 배포 설정 #35
- Loading branch information
Showing
3 changed files
with
96 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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* |