diff --git a/.github/workflows/deploy-production.yml b/.github/workflows/deploy.yml similarity index 65% rename from .github/workflows/deploy-production.yml rename to .github/workflows/deploy.yml index cf0c3cd9..f1ca50c3 100644 --- a/.github/workflows/deploy-production.yml +++ b/.github/workflows/deploy.yml @@ -2,9 +2,9 @@ name: deploy on: push: - branches: [main] + branches: [main, alpha] pull_request: - branches: [main] + branches: [main, alpha] env: DOCKER_IMAGE: ${{ vars.DOCKERHUB_USERNAME }}/juga-docker @@ -13,13 +13,6 @@ env: jobs: build-and-deploy: runs-on: ubuntu-latest - strategy: - matrix: - app: - [ - { name: 'be', dir: 'BE', port: 3000, container: 'juga-docker-be' }, - { name: 'fe', dir: 'FE', port: 5173, container: 'juga-docker-fe' }, - ] steps: - uses: actions/checkout@v3 @@ -29,29 +22,29 @@ jobs: with: node-version: '20' cache: 'npm' - cache-dependency-path: ./${{matrix.app.dir}}/package-lock.json + cache-dependency-path: ./BE/package-lock.json - name: Create .env file run: | - touch ./${{ matrix.app.dir }}/.env - echo "${{ secrets.ENV }}" > ./${{matrix.app.dir}}/.env + touch ./BE/.env + echo "${{ secrets.ENV }}" > ./BE/.env - name: Install dependencies - working-directory: ./${{matrix.app.dir}} + working-directory: ./BE run: npm ci - name: Run tests - working-directory: ./${{matrix.app.dir}} + working-directory: ./BE run: npm test env: CI: true - name: Run linter - working-directory: ./${{matrix.app.dir}} + working-directory: ./BE run: npm run lint - name: Build application - working-directory: ./${{matrix.app.dir}} + working-directory: ./BE run: npm run build - name: Login to Docker Hub @@ -61,16 +54,16 @@ jobs: password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and Push Docker Image - working-directory: ./${{ matrix.app.dir }} + working-directory: ./BE env: NCP_ACCESS_KEY: ${{ secrets.NCP_ACCESS_KEY }} NCP_SECRET_KEY: ${{ secrets.NCP_SECRET_KEY }} run: | - docker build -t ${{ env.DOCKER_IMAGE }}-${{ matrix.app.name }}:${{ env.DOCKER_TAG }} . - docker tag ${{ env.DOCKER_IMAGE }}-${{ matrix.app.name }}:${{ env.DOCKER_TAG }} ${{ env.DOCKER_IMAGE }}-${{ matrix.app.name }}:latest + docker build -t ${{ env.DOCKER_IMAGE }}:${{ env.DOCKER_TAG }} . + docker tag ${{ env.DOCKER_IMAGE }}:${{ env.DOCKER_TAG }} ${{ env.DOCKER_IMAGE }}:latest - docker push ${{ env.DOCKER_IMAGE }}-${{ matrix.app.name }}:${{ env.DOCKER_TAG }} - docker push ${{ env.DOCKER_IMAGE }}-${{ matrix.app.name }}:latest + docker push ${{ env.DOCKER_IMAGE }}:${{ env.DOCKER_TAG }} + docker push ${{ env.DOCKER_IMAGE }}:latest - name: Get Github Actions IP id: ip @@ -102,15 +95,15 @@ jobs: script: | docker system prune -af echo "${{ secrets.ENV }}" > .env - - docker pull ${{ env.DOCKER_IMAGE }}-${{ matrix.app.name }}:${{ env.DOCKER_TAG }} - docker stop ${{ matrix.app.container }} || true - docker rm ${{ matrix.app.container }} || true + + docker pull ${{ env.DOCKER_IMAGE }}:${{ env.DOCKER_TAG }} + docker stop juga-docker || true + docker rm juga-docker || true docker run -d \ - --name ${{ matrix.app.container }} \ - -p ${{ matrix.app.port }}:${{ matrix.app.port }} \ + --name juga-docker \ + -p 3000:3000 \ --env-file .env \ - ${{ env.DOCKER_IMAGE }}-${{ matrix.app.name }}:${{ env.DOCKER_TAG }} + ${{ env.DOCKER_IMAGE }}:${{ env.DOCKER_TAG }} - name: Remove Github Action Ip to Security group run: | diff --git a/.github/workflows/deply-alpha.yml b/.github/workflows/deply-alpha.yml deleted file mode 100644 index 155e349b..00000000 --- a/.github/workflows/deply-alpha.yml +++ /dev/null @@ -1,119 +0,0 @@ -name: deploy - -on: - push: - branches: [alpha] - pull_request: - branches: [alpha] - -env: - DOCKER_IMAGE: ${{ vars.DOCKERHUB_USERNAME }}/juga-docker - DOCKER_TAG: ${{ github.sha }} - -jobs: - build-and-deploy: - runs-on: ubuntu-latest - strategy: - matrix: - app: - [ - { name: 'be', dir: 'BE', port: 3000, container: 'juga-docker-be' }, - { name: 'fe', dir: 'FE', port: 5173, container: 'juga-docker-fe' }, - ] - - steps: - - uses: actions/checkout@v3 - - - name: Set up Node.js - uses: actions/setup-node@v4 - with: - node-version: '20' - cache: 'npm' - cache-dependency-path: ./${{matrix.app.dir}}/package-lock.json - - - name: Create .env file - run: | - touch ./${{ matrix.app.dir }}/.env - echo "${{ secrets.ENV }}" > ./${{matrix.app.dir}}/.env - - - name: Install dependencies - working-directory: ./${{matrix.app.dir}} - run: npm ci - - - name: Run tests - working-directory: ./${{matrix.app.dir}} - run: npm test - env: - CI: true - - - name: Run linter - working-directory: ./${{matrix.app.dir}} - run: npm run lint - - - name: Build application - working-directory: ./${{matrix.app.dir}} - run: npm run build - - - name: Login to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ vars.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Build and Push Docker Image - working-directory: ./${{ matrix.app.dir }} - env: - NCP_ACCESS_KEY: ${{ secrets.NCP_ACCESS_KEY }} - NCP_SECRET_KEY: ${{ secrets.NCP_SECRET_KEY }} - run: | - docker build -t ${{ env.DOCKER_IMAGE }}-${{ matrix.app.name }}:${{ env.DOCKER_TAG }} . - docker tag ${{ env.DOCKER_IMAGE }}-${{ matrix.app.name }}:${{ env.DOCKER_TAG }} ${{ env.DOCKER_IMAGE }}-${{ matrix.app.name }}:latest - - docker push ${{ env.DOCKER_IMAGE }}-${{ matrix.app.name }}:${{ env.DOCKER_TAG }} - docker push ${{ env.DOCKER_IMAGE }}-${{ matrix.app.name }}:latest - - - name: Get Github Actions IP - id: ip - uses: haythem/public-ip@v1.2 - - - name: Setting NCP CLI & Credentials - run: | - cd ~ - wget https://www.ncloud.com/api/support/download/5/65 - unzip 65 - mkdir ~/.ncloud - echo -e "[DEFAULT]\nncloud_access_key_id = ${{ secrets.NCP_ACCESS_KEY }}\nncloud_secret_access_key = ${{ secrets.NCP_SECRET_KEY }}\nncloud_api_url = ${{ secrets.NCP_API_URI }}" >> ~/.ncloud/configure - - - name: Add Github Action Ip to Security group - run: | - cd ~ - ls -la - chmod -R 777 ~/cli_linux - cd ~/cli_linux - ./ncloud vserver addAccessControlGroupInboundRule --regionCode KR --vpcNo ${{ secrets.NCP_VPC_ID }} --accessControlGroupNo ${{ secrets.NCP_ACG_ID }} --accessControlGroupRuleList "protocolTypeCode='TCP', ipBlock='${{ steps.ip.outputs.ipv4 }}/32', portRange='${{ secrets.SSH_PORT }}'" - - - name: Deploy to NCP Server - uses: appleboy/ssh-action@master - with: - host: ${{ secrets.NCP_ALPHA_SERVER_HOST }} - username: ${{ secrets.NCP_ALPHA_SERVER_USERNAME }} - key: ${{ secrets.NCP_ALPHA_SERVER_SSH_KEY }} - port: 22 - script: | - docker system prune -af - echo "${{ secrets.ENV }}" > .env - - docker pull ${{ env.DOCKER_IMAGE }}-${{ matrix.app.name }}:${{ env.DOCKER_TAG }} - docker stop ${{ matrix.app.container }} || true - docker rm ${{ matrix.app.container }} || true - docker run -d \ - --name ${{ matrix.app.container }} \ - -p ${{ matrix.app.port }}:${{ matrix.app.port }} \ - --env-file .env \ - ${{ env.DOCKER_IMAGE }}-${{ matrix.app.name }}:${{ env.DOCKER_TAG }} - - - name: Remove Github Action Ip to Security group - run: | - chmod -R 777 ~/cli_linux - cd ~/cli_linux - ./ncloud vserver removeAccessControlGroupInboundRule --regionCode KR --vpcNo ${{ secrets.NCP_VPC_ID }} --accessControlGroupNo ${{ secrets.NCP_ACG_ID }} --accessControlGroupRuleList "protocolTypeCode='TCP', ipBlock='${{ steps.ip.outputs.ipv4 }}/32', portRange='${{ secrets.SSH_PORT }}'" diff --git a/FE/Dockerfile b/FE/Dockerfile deleted file mode 100644 index 6773e6a4..00000000 --- a/FE/Dockerfile +++ /dev/null @@ -1,17 +0,0 @@ -FROM node:20 - -RUN mkdir -p /var/app -WORKDIR /var/app - -COPY package*.json ./ -RUN npm install - -COPY . . - -RUN npm run build - -RUN npm install -g serve - -EXPOSE 5173 - -CMD ["serve", "-s", "dist", "-l", "5173"] \ No newline at end of file diff --git a/FE/tsconfig.app.tsbuildinfo b/FE/tsconfig.app.tsbuildinfo deleted file mode 100644 index bbaf2949..00000000 --- a/FE/tsconfig.app.tsbuildinfo +++ /dev/null @@ -1 +0,0 @@ -{"root":["./src/app.tsx","./src/main.tsx","./src/vite-env.d.ts","./src/components/header.tsx","./src/page/home.tsx"],"version":"5.6.3"} \ No newline at end of file diff --git a/FE/tsconfig.node.tsbuildinfo b/FE/tsconfig.node.tsbuildinfo deleted file mode 100644 index 75ea0011..00000000 --- a/FE/tsconfig.node.tsbuildinfo +++ /dev/null @@ -1 +0,0 @@ -{"root":["./vite.config.ts"],"version":"5.6.3"} \ No newline at end of file diff --git a/FE/vite.config.ts b/FE/vite.config.ts index be05188f..539e2463 100644 --- a/FE/vite.config.ts +++ b/FE/vite.config.ts @@ -6,7 +6,6 @@ import tsconfigPaths from 'vite-tsconfig-paths'; export default defineConfig({ plugins: [react(), tsconfigPaths()], server: { - host: true, open: true, }, });