JavaScriptをがんばるブログ

JavaScript関連で日々気になった事を書いていきます。今はReactを専門としています。

CIサービスまとめ 2017-03

無料プランと有償で使う場合のミニマムプランを記載しています。

Travis CI

Travis CI - Test and Deploy Your Code with Confidence

public repositoryなら無料で使い放題なので、
殆どのOSSが利用しています。

そのためgithubで設定ファイルのサンプルが山ほど見つかりこころ強いです。

travis cliツールも存在し、 .tavis.yml のバリデーション機能などが利用できます。

public repository
  • unlimited free
private repository
  • from per month/$69(Bootstrap)
  • 1Concurrent job
  • Unlimited build minutes
  • Unlimited repositories
  • Unlimited collaborators

Circle CI

circleci.com

こちらも定番のCIサービスです。 travisとは違いpublic/private問わずコンテナ数と並行処理数で課金する仕組みで、1コンテナならprivateでも無料で使えます。

魅力はやはり並行処理 Parallelism を設定出来る点でしょうか。
テスト数が多い巨大なプロジェクト程効果が期待できそうです。

~ 1 Container
  • Unlimited repos
  • Unlimited users
  • 1,500 build minutes per month
  • 1 container
  • 1 concurrent build
~ 2 Container
  • from $50/mo
  • Unlimited repos
  • Unlimited users
  • Unlimited build minutes per month
  • 2 container
  • 2 concurrent build

Side CI

sideci.com

日本の会社が開発しているCIサービスです。
後述するScrutinizerのようにcode smell的に問題がありそうな箇所を指摘してくれます。
チームのみんなが英語を読める訳ではない場合も多いので、日本語でコメントしてくれるのはありがたいです。

トライアル(14日間)
マイクロ

Scrutinizer

静的解析機能が強調されるCIサービスです。
コード品質、セキュリティ、バグに問題がありそうな箇所を検出し、コメントしてくれます。 コードベースをCode Metricsと呼ばれるスコアで採点する機能が独特です。 PHPがメインでしたが、現在は対応言語が充実しているようです。

Measure and Improve Code Quality continuously with Scrutinizer

Free Trial(14 day)
  • 料金プランページで詳細を見つけられず。
BASIC
  • € 49/month
  • Containers 1
  • Code Smells
  • Bug Detection, Best Practices
  • Build Environment for Tests
  • Code Coverage

Magnum CI

magnum-ci.com

現在パブリックβ中で、課金プランはこれから登場するようです。
privateリポジトリが無制限で無料なのが魅力でしょうか。

Pricing & Plans
  • Unlimited private and public repositories
  • Unlimited collaborators
  • Unlimited builds
  • 1 Concurrent build
  • Maximum 30 minutes per build
  • No credit card required

以前はprivateリポジトリのビルド結果がwebに公開されてしまっていたが、
現在は修正されているそうです。

プライベートリポジトリ無料のCIサービス「Magnum CI」のログを非公開にできるようしてくれました - atskimura-memo

Style CI

styleci.io

PHPのコードフォーマット専用のサービスです。
最近フリートライアルプランを始めたそうです。

ドキュメントを読んだ限り、テストの実行は出来なさそうです。

Open Source
  • always free
Solo
  • $10/month
  • Unlimited Public Repos
  • 10 Private Repos
  • Unlimited Analyses

DEPLOYBOT

deploybot.com

ソースのビルド → デプロイを専門としたCIサービスです。
npm,composerなどから依存パッケージ取得、 Java,Scalaなどのビルド、 gulpやgruntなどのコンパイルに対応しています。
deploy用のブランチを使った運用に向いているかと。

無料プランは無さそうです。

Basic
  • 10 repositories
  • Email & Chat support
  • $15.00/month

Jenkins

jenkins.io

インストール型の、昔から有名なCIサービスです。
サーバを自前で用意する必要がありますが、出来ない事はほぼない…自由度の高さが魅力です。

githubのDeploy Keysは特定repositoryへのアクセス権

PHPのComposerを利用したリポジトリをCircle CIに追加したところ、githubプライベートリポジトリで管理している自作のComposerパッケージがフェッチ出来ないエラーに遭遇しました。

とりあえず自分のGithubアカウントにCircleCIのSSH鍵を作成して対処しましたが、本当はDeploy Keysの追加で行う方が筋が良さそうです。
自分のアカウントが抜けた後でも問題が起こらないので。

Managing deploy keys | GitHub Developer Guide

A deploy key is an SSH key that is stored on your server and grants access to a single GitHub repository. This key is attached directly to >the repository instead of to a personal user account.

翻訳:

デプロイメントキーは、サーバーに格納されているSSHキーで、単一のGitHubリポジトリへのアクセスを許可します。 このキーは個人用のアカウントではなくリポジトリに直接添付されています。