Yarn 持续集成

Yarn 持续集成

Yarn 持续集成分为以下:AppVeyor、CircleCI、Codeship、Travis、Semaphore、Solano

AppVeyor

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

要让 build 更快,你可以把以下配置加到appveyor.yml,这会缓存 Yarn 的 缓存文件夹。

cache:
 - "%LOCALAPPDATA%\\Yarn"

CircleCI

CircleCI 为 Yarn 提供了文档。 你可以用他们的 Yarn 文档来开始运行。

Codeship

Yarn 已在 Codeship Basic 上预装。

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

Travis

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

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

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

开启sudo的构建
sudo: requiredbefore_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 yarncache:
  yarn: true

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

sudo apt-get install -y -qq yarn=1.22.4-1
基于容器的构建

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

sudo: falsebefore_install:
  - curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.22.4
  - export PATH=$HOME/.yarn/bin:$PATHcache:
  yarn: true

Semaphore

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>

Solano

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