hanbin9775 / simple-website

0 stars 0 forks source link

[#8] npm versioning #8

Open hanbin9775 opened 3 years ago

hanbin9775 commented 3 years ago

매번 수동으로 버전을 하드코딩해서 수정하는 식이 아니라 main에 push를 올릴 때 마다 저절로 version patch가 되게 구현해보자.

hanbin9775 commented 3 years ago

Node Versioning

.env 파일에 version 정보 저장

.env 파일에 version 환경변수를 저장하고 가져다 쓰는 방법. version은 수동으로 바꿔줘야한다.

git tag 기능 사용하기

새로운 기능 추가 전에 git tag를 선언해서 node에서 가져다 쓰는 방식. .git 파일에 접근해서 가져다 써야할 듯 하다. 파싱하는게 조금 귀찮을 수도 있을 것 같다.

npm parmeter로 전달

npm script에 parameter를 전달하는 별도의 명령어 정의해서 사용.

"scripts": {
  "update": "npm version"
}
//package.json의 version 값을 1.0.1로 변경
npm run update  — 1.0.1

정도가 될 수 있겠다

package.json의 version 정보 가져다쓰기

var pjson = require('../../package.json');

으로 가져다 쓰는 방식. 제일 간단하다. 다만 package.json 의 version은 수동으로 바꿔줘야한다.

결론

가장 이상적인 방법은 push를 할 때마다 version이 자동적으로 올라가는 방식이다. 따라서 위의 방법들을 적절히 잘 사용해서…

"scripts": {
  …
  /* npm version patch 명령어는 버전 값 a.b.c에서 c의 값을 하나 올려줌 */
  "patchnpush" : "npm version patch && git push origin main" 
  …
}

npm run patchnpush

앞으로 branch를 푸쉬할 때 위 명령어를 사용하면 package.json의 version이 자동으로 상승하고 push가 될 듯하다.