beeimp
BeeImp
beeimp
전체 방문자
오늘
어제
  • 분류 전체보기 (110)
    • Program_Language (17)
      • Python (13)
      • Go (0)
      • JavaScript (4)
      • TypeScript (0)
      • Rust (0)
      • Solidity (0)
    • OS (8)
      • UNIX&LINUX (7)
      • Windows (0)
      • MacOS (1)
    • Front-End (19)
      • Svelte (19)
      • React (0)
    • Blockchain (6)
      • Bitcoin (0)
      • Ethereum (1)
      • Klaytn (0)
      • Project (5)
    • Data Structure&Algorithm (11)
      • Greedy (7)
      • Dynamic Programming (1)
      • Sort (0)
      • DFS & BFS (2)
      • Recursive (1)
    • Security (0)
      • SDP (0)
      • Authentication (0)
    • Network (3)
      • OpenWrt (0)
      • SDN&NFV (1)
    • Git (5)
    • IT_News (0)
    • 베타 학습단 (12)
      • SQL (12)
    • Project (1)
    • Issues (1)
    • Reviews (3)
    • I Learned (23)
      • TIL (23)
      • WIL (0)
    • Other (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • mysql
  • Ethereum
  • javascript
  • blockchain
  • Nest.js
  • Git
  • 기초
  • Docker
  • jenkins
  • sql
  • react
  • typescript
  • ubuntu
  • PYTHON
  • 블록체인
  • svelte
  • 탐욕법
  • greedy
  • github
  • solidity

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
beeimp

BeeImp

[TIL] 프론트 환경 구축과 배포
I Learned/TIL

[TIL] 프론트 환경 구축과 배포

2022. 6. 22. 01:59

[TIL] 프론트 환경 구축과 배포

날짜

  • 2022.06.21.

목표

  • DeSo 프로젝트 Front 환경 구축

내용

Next.js - getStaticProps vs getServerSideProps

  • 공통점 - pre-render가 필요한 경우 사용
  • getStaticProps - 빌드 시 한번 호출
    • 정적(고정된) 데이터
    • 성능 우수
  • getServerSideProps - 페이지 요청마다 호출
    • 동적 데이터
    • 동적 수정 가능

npm ci

  • npm ci(Continous Integration, 지속적인 통합)
  • 장점 - 빠른 설치 속도
  • package.json 파일보다 package-lock.json 파일을 우선
  • 기존의 node_modules 폴더를 삭제하고 package-lock.json 파일을 기준으로 package를 다시 설치
  • 실행방법
$ npm ci

$ npm ci --only=production # production 레벨까지만 설치

Geth - 데이터 디렉토리 위치

Mac: ~/Library/Ethereum
Linux: ~/.ethereum
Windows: %APPDATA%/Ethereum

Emotion - TypeScript에서 css 속성 없음 오류 해결 방법

  • 현상 - element에 css 속성이 없다는 오류 발생

  • 해결 - tsconfig.json 파일에 다음 코드 추가
// tsconfig.json 
{ 
    "compilerOptions": { 
        ... "types": ["@emotion/react", "@emotion/react/types/css-prop"], 
    }, 
    ... 
}

Docker - RUN, CMD, ENTRYPOINT 차이점

  • 공통점 - Dockerfile에서 실행 명령어
  • RUN - 도커파일로부터 이미지를 빌드하는 순간 실행되는 명령어
  • CMD - 이미지로부터 컨테이너를 생성하고 최초로 실행할 때 수행
    • 변경 가능함
  • ENTRYPOINT - 이미지로부터 컨테이너를 생성하고 최초로 실행할 때 수행
    • 컨테이너가 최초에 꼭 실행해야하는 명령어가 있을 때 사용

Jenkins - docker 자동 배포 pipeline

pipeline {
  agent any
  stages{
    stage('Lagacy Remove') {
      steps{
        script{
          try {
            sh 'docker rm -f sdao-front-end'
          } catch (err) {
            echo 'sdao-front-end is not defined'
          }
        }
        script{
          try {
            sh 'docker rmi -f sdao-front:latest'
          } catch (err) {
            echo 'sdao-front:latest is not defined'
          }
        }
      }
    }

    stage('Build') {
      steps {
        sh 'docker build -t sdao-front ./'
      }
    }
    stage('Run') {
      steps {
        sh 'docker run -d --name sdao-front-end -p 3000:3000 sdao-front:latest'
      }
    }
  }
}

결론

  • Next.js에서 getStaticProps 와 getServerSideProps 차이점에 대해 학습했다.
  • Geth 설치로 인해 100GB의 용량을 차지하고 있던 데이터를 삭제했다! 편안☺️
  • TypeScript에서 Emotion css가 오류로 출력되는 부분을 해결했다.
  • 자동배포 pipeline 개발에 성공했다.

'I Learned > TIL' 카테고리의 다른 글

[TIL] 커밋되지 않은 모든 파일 삭제  (0) 2022.06.24
[TIL] caver-js 버전 1.4.2로 다운그레이  (0) 2022.06.23
[TIL] Discord를 통한 Gihub webhook 연동  (0) 2022.06.21
[TIL] Docker를 사용한 jenkins 설치 및 사용법  (0) 2022.06.20
[TIL] 협업 개발 도구에는 무엇이?  (0) 2022.06.19
    'I Learned/TIL' 카테고리의 다른 글
    • [TIL] 커밋되지 않은 모든 파일 삭제
    • [TIL] caver-js 버전 1.4.2로 다운그레이
    • [TIL] Discord를 통한 Gihub webhook 연동
    • [TIL] Docker를 사용한 jenkins 설치 및 사용법

    티스토리툴바