持续集成

Yarn 很容易在许多持续构建系统中使用。为了加速构建,Yarn 缓存目录可以跨构建保存起来。

从上面的选项中选择您正在使用持续集成系统

Yarn已预先安装在 AppVeyor 上,所以不需要在构建流程中做别的事情。

要加快您的构建速度,你可以将下列内容添加到您的 appveyor.yml 文件,以使用 Yarn 的缓存文件夹。

cache:
 - "%LOCALAPPDATA%\\Yarn"

Yarn 已在 CircleCI 上预装。你可以通过他们的 Yarn 文档快速设置和运行。

Yarn 已在 Codeship Basic 上预装。

如果您正在使用 Codeship Pro (基于 Docker),推荐您通过我们的 Debian/Ubuntu 包安装 Yarn。

Travis CI 根据项目根目录里面是否有 yarn.lock 文件检测是否使用 Yarn。 如果文件可用,Travis CI 会根据需要来安装 yarn,并执行 yarn 作为默认的安装命令。

如果你的安装流程需要更多,要自己安装 Yarn,确保它在 build 镜像里已经预先安装好。

安装 Yarn 有两种方式:用sudo,或者不用。 如果你用的是基于容器的环境的话, 用第二种方式。

开启sudo的构建

sudo: required
before_install: # if "install" is overridden
  # Repo for Yarn
  - sudo apt-key adv --fetch-keys http://dl.yarnpkg.com/debian/pubkey.gpg
  - echo "deb http://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
  - sudo apt-get update -qq
  - sudo apt-get install -y -qq yarn
cache:
  yarn: true

建议您锁定使用特定 Yarn 版本,使每次构建都是使用同一版本的 Yarn。在切换之前,你也可以先测试新版本的 Yarn。 您可以在调用 apt-get install 命令时添加版本号︰

sudo apt-get install -y -qq yarn=1.2.0-1

基于容器的构建

基于容器的构建没有 sudo 权限,必须通过其他方式安装。 比如:

sudo: false
before_install:
  - curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.2.0
  - export PATH=$HOME/.yarn/bin:$PATH
cache:
  yarn: true

Semaphore 为所有受支持的 Node.js 版本预装了 Yarn,并且用户直接能使用已备好的 Yarn 缓存。

为确保本地 Yarn 版本与 Semaphore 上的一致,您可以在项目设置中加入以下几行到你的设置命令:

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb http://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
# install-package 是在 Semaphore 里缓存 APT 安装程序的工具
# 包版本号可以也可以不定义
install-package yarn=<version>

Yarn 已在 SolanoCI 上预装。 你可以跟着他们的 Yarn 文档快速启动和运行。 作为一个配置文件例子,取出一个他们的样例配置文件