21
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Rocroの導入方法

Last updated at Posted at 2017-09-15

はじめに

 ソフトウェア開発者向けサービス群 Rocroのクローズドβに参加させていただきましたので、Rocroサービスの導入方法を書こうと思います。

Rocroとは?

 プレスリリースからの引用ですが「ソフトウェア開発者の周辺に発生する定常的なワークフローの効率化を支援するために、自動コードレビュー&修正、自動APIドキュメント生成&ホスティング、自動負荷試験を行うクラウドサービス」とのこと。  

具体的にRocroは下記3つのサービスで構成されています。

  1. Inspecode(インスペコード): 自動コードレビュー&コード修正サービス
  • Checkstyle、golint、Pyflakesなど40以上の定評のあるツールで自動コードレビュー。
  • 強力な自動修正機能。修正コードをPull requestでマージ。
  • 複数のツールによる解析を並列に実行することで、非常に短時間で解析が完了。
  1. Docstand(ドックスタンド): APIドキュメント生成&ホスティングサービス
  • レポジトリと連携して最新のAPIドキュメントを自動生成&ホスティング。
  • 面倒なドキュメントの維持管理作業を自動化。  
  1. Loadroid(ロードロイド): 自動負荷試験サービス
  • クラウド負荷試験サービス。シナリオを書くだけで、クラウド上に負荷サーバーを自動構築、負荷試験実施、結果の自動集計。
  • 大規模負荷試験、数十万台のIoT機器を模擬した試験など、難度の高い試験が手軽に可能。

現在は**「ベータ期間中につき、無料」**なのでどんどん試すチャンスですね。
※ 9月15日時点ではパブリックリポジトリには未対応

引用・参考サイト
http://www.sonynetwork.co.jp/corporation/release/2017/pr20170914_0036.html
https://rocro.com/

適用するプロジェクト情報

今回Rocroを試したプロジェクトの情報は下記です。

  • 開発言語 Go 1.8
  • パッケージ管理 glide
  • Githubのプライベートリポジトリにてソースコード管理

Rocroの導入手順

では実際にInspecodeを導入するまでの手順を記載します。

1. Sign in

公式サイトの「Sign in」ボタンをクリックします。
そうすると、GithubかBitBucketを選択する画面が表示されますので選択します。
cap1.png
選択後必要情報を入力すれば無事Sign in完了です。

2. 使用するリポジトリの選択

 画面上部の「Repositries」を選択します。
画像では削除していますがAdmin権限を持っているリポジトリが一覧で表示されますので、Inspecodeを実行したい
リポジトリに対して「Registory」をクリックします。

cap2.png
##3. 設定ファイルの作成
 2.まででデフォルト設定のgo fmtやgoimportsは動作しました。
がGoで使える全ツール試してみたいので設定ファイル(rocro.yaml)をリポジトリ直下に置きます。
設定ファイルの内容は全ツールの自動修正機能を含む全てを動作させるような設定を書きます。

rocro.yaml
inspecode:
  experimental:
    env:
      GLIDE_INSTALL_STRIP_VENDOR: 1
  # golang configuration.
  gas: default
  go-test: default
  errcheck: default
  go-vet: default
  gofmt: auto-fix
  goimports: auto-fix
  golint: auto-fix
  gosimple: default
  ineffassign: default
  interfacer: default
  misspell: auto-fix

※補足 GLIDE_INSTALL_STRIP_VENDOR: 1について
これはプロジェクトで使用しているパッケージの中で入れ子になったvendor/フォルダがあり、それを除外するような指定です。glideコマンドだと glide install -vですね。

ちなみにデフォルト設定で動作するツールや設定方法などは公式ドキュメントに記載されています。
##4. Rocroを回す
 設定が終わればコードがPUSHされたタイミングでInspecodeが走ります。
動作画面は下記のようになり、ツールで並列に実行可能なものは一気に動作されていたのが好印象でした。
cap3.png

そして実行結果のレポートはこちらになります。
cap4.png

う、修正するところいっぱいある。。。

まとめ

 ざっとですが、Rocroの導入方法を紹介しました。 Jenkinsで一からCI環境を整えたり、CircleCIを導入したりと似たようなことは行ってきましたが、Rocroはかなり簡単にCI環境を導入できた印象です。また、ツールで実行できるところは並列で実行されたりと速度も期待できそうです。

21
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?