継続的インテグレーション

Yarn は様々 な継続的インテグレーション システムで簡単に使用できます。ビルドを高速化するために Yarn のキャッシュディレクトリーをビルド間で保存できます。

上記の選択肢から使用している継続的インテグレーションシステムを選択してください

Yarn は AppVeyor にプリインストールされているため、ビルドの一環として Yarn を使うために追加で何かする必要はありません。

ビルドを高速化するために、Yarn のキャッシュフォルダーを appveyor.yml に追記してキャッシュすることができます。

cache:
 - "%LOCALAPPDATA%\\Yarn"

CircleCI は Yarn のためのドキュメントを提供してくれています。こちらの Yarn documentation に連携方法が書かれています。

Yarn は Codeship Basic にプリインストールされています。

Codeship Pro を(Docker と)使用しているなら、代わりに 我々の Debian/Ubuntu パッケージ経由で Yarn をインストールすることをお勧めします。

Travis CIyarn.lock がリポジトリのルート直下に存在していた場合に Yarn を利用していると判断します。 その場合には Travis CI は必要に応じて yarn をインストールし、yarn をデフォルトの install コマンドとして実行します。

install フェーズで追加で作業が必要な場合は、ビルドイメージに Yarn がプリインストールされていない場合を除いて Yarn を自身でインストールする必要があります。

Yarn をインストールするには sudo を使う方法と使わない方法があります。 コンテナベースの環境を使う場合は後者の方法になります。

sudo が有効なビルド

sudo: required
before_install: # "install" がオーバーライドされる場合
  # 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:
  directories:
  - $HOME/.cache/yarn

すべてのビルドが同じバージョンの Yarn を使うように、また古い Yarn から新しい Yarn に変更する前にテストできるように、 Yarn のバージョンは固定することを推奨します。 apt-get install 実行時にバージョン情報を追加することで Yarn のバージョンを固定できます。

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

コンテナベースのビルド

コンテナベースのビルドは sudo の実行権限がないため、他の方法に頼らなくてはなりません。例:

sudo: false
before_install:
  - curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.22.5
  - 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 は APT インストールを Semaphore 上でキャッシュするツールです
# パッケージバージョンの指定は任意
install-package yarn=<version>

Yarn は SolanoCI でプリインストールされています。 SolanoCIの Yarn documentation に従ってすぐに設定、実行することができます。 構成ファイルの例としては、SolanoCIの構成ファイルの例 のいずれかを参照してください。