Bitbucket Pipelines - 자바스크립트 (Node.js)
개요
이 가이드는 Docker 컨테이너에서 Node.js 소프트웨어 프로젝트를 빌드하고 테스트하기 위해 Bitbucket Pipelines를 사용하는 방법을 보여줍니다.
Bitbucket Pipelines는 작성 시점에 계정 당 무료 50 분을 포함합니다. 작업 영역(Workspace)에서 Settings > Plan details를 클릭하여 해당 월의 계정 사용 시간을 확인할 수 있습니다
파이프라인을 직접 설정는 경우, 파이프라인이 빌드를 정의하는데 사용하는 bitbucket-pipelines.yml
파일에서 대부분을 구성하게 됩니다.
Docker를 사용하여 Node.js 버전 지정
Bitbucket Pipelines는 구성 파일의 시작 부분에 명시한 이미지를 사용하여 Docker 컨테이너에서 모든 빌드를 실행합니다. Docker Hub의 official Node.js Docker images 중 하나를 사용하여 Bitbucket Pipelines와 함께 Node.js를 쉽게 사용할 수 있습니다.
예를 들어, bitbucket-pipelines.yml 파일의 시작 부분에 Node.js 10.15.0을 지정하여 사용할 수 있습니다.
image: node:10.15.0
pipelines:
default:
- step:
script:
- node -v
다른 버전의 Node.js를 사용하려면 Node.js Docker 이미지의 태그를 변경하기만 하면 됩니다. 아래 예제는 Node 4.7.2로 컨테이너를 시작합니다.
image: node:4.7.2
지원되는 모든 Node.js 버전 및 해당 이미지 태그 목록을 찾으려면 https://hub.docker.com/_/node/를 참조해주세요.
online validator로 bitbucket-pipelines.yml 파일의 유효성을 확인할 수 있습니다.
종속성 설치
npm으로 종속성 관리
Docker Hub의 기본 Node.js 이미지는 기본적으로 npm이 설치된 상태로 제공됩니다. 스크립트에서 직접 사용하여 특정 패키지를 로컬 또는 전역으로 설치할 수 있습니다.
package.json 파일을 사용하는 경우 스크립트 시작 부분에서 npm install
을 실행 하여 필요한 모든 종속성을 설치할 수 있습니다.
image: node:10.15.0
pipelines:
default:
- step:
script:
- npm install
Yarn으로 종속성 관리
Docker Hub의 기본 Node.js 이미지는 기본적으로 yarn이 설치된 상태로 제공됩니다. 스크립트에서 직접 사용하여 특정 패키지를 로컬 또는 전역으로 설치할 수 있습니다.
전 세계적으로 종속성 설치 (Gulp, Grunt, Angular CLI ...)
노드 패키지는 전역으로 설치할 수도 있습니다. 예를 들어 파이프라인이 Gulp 또는 Grunt와 같은 task runner에 의존하는 경우이를 전역으로 설치해야합니다. npm을 패키지 관리자로 사용하는 경우 npm install -g
명령을 사용할 수 있습니다.
Yarn을 사용하는 경우 yarn global add
를 사용하십시오.
개인 레지스트리에 모듈 업로드 및 다운로드
공용 npm 레지스트리 또는 자체 개인 레지스트리에서 개인 모듈을 사용하는 경우 저장소 변수를 사용하여 저장소의 루트에있는 .npmrc
파일을 간단히 체크인 할 수 있습니다. 개발 중에 로컬 ~/.npmrc
파일과의 충돌을 피하기 위해 간단히 .npmrc_config
라는 이름을 지정하고 파이프라인 스크립트의 일부로 이름을 바꿀 수 있습니다.
.npmrc_config
개인 npm 레지스트리를 사용하는 경우 registry.npmjs.org
를 레지스트리 주소로 바꾸면됩니다.
그런 다음 Bitbucket Pipelines에서 다음 변수를 구성합니다.
NPM_TOKEN
: 레지스트리에 대한 인증 토큰입니다. 레지스트리에 로그인 한 후 로컬~/.npmrc
에서 찾을 수 있습니다.
그러면 bitbucket-pipelines.yml 스크립트는 다음과 같이 종속성을 설치합니다.
bitbucket-pipelines.yml
Testing
애플리케이션을 테스트하려면 로컬에서 실행하는 것과 동일한 명령을 bitbucket-pipelines.yml 파일에 추가하면 됩니다. 예를 들어 로컬에서 npm test
를 실행하여 테스트를 실행하는 경우는 다음과 같습니다.