Sider Blog

コードレビュー自動化サービス「Sider」を運営するSider株式会社のコーポレートブログです。

RuboCopでより柔軟なgemのインストールをサポートしました

こんにちは。プロダクトチームの渡邉です。 この度、RuboCopの実行時にサードパーティーのRubyGemsリポジトリやGitリポジトリからのgemインストールをサポートしましたので、ご紹介します。

SiderではRuboCopの実行時にプラグインなどを有効にするために、以下のようにsideci.ymlにインストールするgemを定義することができます。

linter:
  rubocop:
    gems:
      - name: "rubocop"
        version: "0.63.1"
      - name: "meowcop"
        version: "1.17.0"

今回のアップデートでは、上記に加えて、以下の2種類のgemのインストールをサポートしました。

サードパーティーのRubyGemsリポジトリ

sourceオプションを指定することで、https://rubygems.org以外のRubyGemsリポジトリからgemをインストールすることができます。

linter:
  rubocop:
    gems:
      - name: "project-cop"
        version: "0.63.0"
        source: "https://gems.example.com"

Gitリポジトリ

gitオプションを指定することで、Gitリポジトリからgemをインストールすることができます。gitオプションは、versionsourceと一緒に指定できないことに注意してください。

linter:
  rubocop:
    gems:
      - name: "owncop"
        git:
          repo: "https://github.com/myname/owncop.git"
          branch: "master"
      - name: "project-cop"
        git:
          repo: "git@github.com/org/project-cop.git"
          tag: "v0.63.0"

repoオプションは必須です。その他にbranch, tagまたはrefの中から、どれかひとつを必ず指定する必要があります。詳しくはドキュメントをご覧ください。 また、プライベートリポジトリを指定する場合にはこちらの設定が必要です。