Integrazione continua
pnpm può essere facilmente utilizzato in vari sistemi di integrazione continua.
Travis
Su Travis CI, puoi usare pnpm per installare le tue dipendenze aggiungendo questo al tuo file .travis.yml
:
cache:
npm: false
directories:
- "~/.pnpm-store"
before_install:
- curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm@7
- pnpm config set store-dir ~/.pnpm-store
install:
- pnpm install
Semaphore
Su Semaphore, puoi usare pnpm per installare e memorizzare nella cache le tue dipendenze aggiungendo questo al tuo file .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@7
- checkout
- cache restore node-$(checksum pnpm-lock.yaml)
- pnpm install
- cache store node-$(checksum pnpm-lock.yaml) $(pnpm store path)
AppVeyor
Su AppVeyor, puoi usare pnpm per installare le tue dipendenze aggiungendo questo al tuo appveyor.yml
:
install:
- ps: Install-Product node $env:nodejs_version
- curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm@7
- pnpm install
Azioni di GitHub
Su GitHub Actions, puoi usare pnpm per installare e memorizzare nella cache le tue dipendenze in questo modo (appartiene a .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.2.2
with:
version: 7
- 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
La memorizzazione nella cache delle dipendenze dei pacchetti con actions/setup-node@v2
richiede l'installazione di pnpm con la versione 6.10+.
CI di GitLab
Su Gitlab, puoi usare pnpm per installare e memorizzare nella cache le tue dipendenze modo (appartiene a .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@7
- pnpm config set store-dir .pnpm-store
script:
- pnpm install # install dependencies
cache:
key:
files:
- pnpm-lock.yaml
paths:
- .pnpm-store
Bitbucket Pipelines
Puoi usare pnpm per installare e memorizzare nella cache le tue dipendenze:
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@7
- pnpm install
- pnpm run build # Replace with your build/test…etc. commands
caches:
- pnpm
Azure Pipelines
On Azure Pipelines, you can use pnpm for installing and caching your dependencies by adding this to your azure-pipelines.yml
:
variables:
pnpm_config_cache: $(Pipeline.Workspace)/.pnpm-store
steps:
- task: Cache@2
inputs:
key: 'pnpm | "$(Agent.OS)" | pnpm-lock.yaml'
path: $(pnpm_config_cache)
displayName: Cache pnpm
- script: |
curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm@7
pnpm config set store-dir $(pnpm_config_cache)
displayName: "Setup pnpm"
- script: |
pnpm install
pnpm run build
displayName: "pnpm install and build"