量産型エンジニアの憂鬱

きっと僕は何物にもなれない。

GitHubと各種CIサービスを連携してみる

普段GitHubを使っていて、Travis CIと連携してバッヂをつけたりしています。 Pull Requestが来たときなんかも自動でビルド・テストをしてくれるので便利ですよね。

今回は、自分でサーバーを用意せず利用できるCIとGitHubを連携してみました。 今回ご紹介するのは以下のCIサービスです。


Travis CI

GitHubとの連携

https://travis-ci.org/

トップページ右上の Sign in with GitHub からログインすることができます。

f:id:duck8823:20170716225944p:plain

ログイン後、 https://travis-ci.org/profile/GitHubのアカウント名/ にアクセスすると、Publicなリポジトリ一覧が表示されます。

f:id:duck8823:20170716233025p:plain

連携したいリポジトリf:id:duck8823:20170716233225p:plain に設定すると連携できます。

リポジトリの設定

リポジトリの設定は、リポジトリ名横の歯車マークをクリックします。 f:id:duck8823:20170716234907p:plain

以下のような設定項目が表示されます。 f:id:duck8823:20170717001102p:plain

.travis.yml の記述

詳しくは https://docs.travis-ci.com/user/customizing-the-build/ を見ながら設定しましょう。

以下は ruby プロジェクト(https://github.com/duck8823/danger-slack)の例

language: ruby
cache:
  directories:
    - bundle

rvm:
  - 2.3.1

before_script:
    - bundle exec danger

script:
    - bundle exec rake spec

Travis CIはOS X のイメージも無料で利用することができます。
設定項目も必要最低限で1画面でまとまっていて、
スケジュールも設定できる。
個人のOSSなんかは Travis CI を使うと便利そうですね。



Circle CI

GitHubとの連携

Circle CI のサインアップページから Start with GitHub をクリックし、ログインします。

ログイン後に Settings > Projects に進むとリポジトリ一覧が表示されます。

f:id:duck8823:20170717015852p:plain

連携したいリポジトリの歯車マークを押し、 表示されたページで Follow Project をクリックしましょう。

f:id:duck8823:20170717020024p:plain

リポジトリの設定

follow すると、様々な設定が可能になります。 Settings > Projects > 設定したいプロジェクトの歯車マーク

f:id:duck8823:20170717020604p:plain

環境変数は BUILD SETTINGS の Environment Variables で設定できます。

circle.yml の設定

以下は ruby プロジェクト(https://github.com/duck8823/danger-slack)の例

machine:
  ruby:
    version: 2.3.1

test:
  pre:
    - bundle exec danger
  override:
    - bundle exec rake spec

circle ci では osx を利用するには有料プランを選択する必要があります。



Wercker

GitHub との連携

https://app.wercker.com にアクセスするとログインページに遷移します。
LOG IN WITH GITHUB をクリックしてログインしましょう。

ログイン後、ヘッダーに表示されている Create をクリックし、 Application を選択します。
f:id:duck8823:20170717025058p:plain

リポジトリ一覧が表示されるので、連携したいプロジェクトを選択肢し、 Use selected repo をクリックします。 f:id:duck8823:20170717025259p:plain

続いてアクセス方法を選択して Next step をクリックします。 f:id:duck8823:20170717025428p:plain

リポジトリの設定

ヘッダーメニューの Applications をクリックし、一覧から設定したいリポジトリを選択します。 Environment を選択すると環境変数を設定することができます。 TokenなどはProtectedにチェックをつけるといいでしょう。

f:id:duck8823:20170717030053p:plain

werker.yml

box: ruby
build:
    steps:
        - bundle-install
        - script:
            name: test
            code: bundle exec rake spec

Werkerは、パイプラインを作成することも可能です。
プライベートリポジトリも無料で利用できます。
残念ながら今のところ Danger は利用できません。