본문으로 건너뛰기
버전: 6.x

Continuous Integration

pnpm은 다양한 ci 시스템들과 함께 사용하기 쉽습니다.

Travis

Travis CI에선 다음과 같은 코드를 .travis.yml에 추가함으로써 pnpm을 dependencies를 설치하는데 사용할 수 있습니다:

.travis.yml
cache:
npm: false
directories:
- "~/.pnpm-store"
before_install:
- curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm@6
- pnpm config set store-dir ~/.pnpm-store
install:
- pnpm install

Semaphore

Semaphore에선 다음과 같은 코드를 .semaphore/semaphore.yml에 추가함으로써 pnpm을 dependencies를 설치하고 캐싱하는데에 사용할 수 있습니다:

.semaphore/semaphore.yml
version: v1.0
name: Semaphore CI pnpm example
agent:
machine:
type: e1-standard-2
os_image: ubuntu1804
blocks:
- name: Install dependencies
task:
jobs:
- name: pnpm install
commands:
- curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm@6
- checkout
- cache restore node-$(checksum pnpm-lock.yaml)
- pnpm install
- cache store node-$(checksum pnpm-lock.yaml) ~/.pnpm-store

AppVeyor

AppVeyor에선 다음과 같은 코드를 appveyor.yml에 추가함으로써 pnpm을 dependencies를 설치하는데에 사용할 수 있습니다:

appveyor.yml
install:
- ps: Install-Product node $env:nodejs_version
- curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm@6
- pnpm install

GitHub Actions

GitHub Actions에선 다음과 같이 .github/workflows/NAME.yml를 작성함으로써 pnpm을 dependencies를 설치하고 캐싱하는데에 사용할 수 있습니다:

.github/workflows/NAME.yml
name: pnpm Example Workflow
on:
push:
jobs:
build:
runs-on: ubuntu-20.04
strategy:
matrix:
node-version: [15]
steps:
- uses: actions/checkout@v2
- uses: pnpm/action-setup@v2.0.1
with:
version: 6.20.3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
note

actions/setup-node@v2를 통해 dependencies를 캐싱하기 위해서는 6.10+ 버전의 pnpm을 사용해야 합니다.

Gitlab CI

Gitlab에선 다음과 같이 .gitlab-ci.yml를 작성함으로써 pnpm을 dependencies를 설치하고 캐싱하는데에 사용할 수 있습니다:

.gitlab-ci.yml
stages:
- build

build:
stage: build
image: node:14.16.0-buster
before_script:
- curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm@6
- pnpm config set store-dir .pnpm-store
script:
- pnpm install # install dependencies
cache:
key: "$CI_COMMIT_REF_SLUG"
paths:
- .pnpm-store

Bitbucket Pipelines

pnpm을 통해 dependencies를 설치하고 캐시할 수 있습니다.

.bitbucket-pipelines.yml
definitions:
caches:
pnpm: $BITBUCKET_CLONE_DIR/.pnpm-store

pipelines:
pull-requests:
"**":
- step:
name: Build and test
image: node:14.16.0
script:
- curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm@6
- pnpm install
- pnpm run build # Replace with your build/test…etc. commands
caches:
- pnpm