学校の講義でSpringBoot使ってCIツール的なWebアプリを作ってみました。
1年ほどかけて作ってみたけど、ある程度動く形になったので使い方を紹介。


何が出来るの

機能としてはタスク管理と、サーバーでもビルドやテストを行えます。

Ticketboard
タスク管理機能

PullRequest
プルリクエスト

イメージ的にはJenkinsとBitbucket当たりをくっつけてみました的な感じを想像すると近いかもしれないです。


インストール方法

公式サイトからWorkbenchのjarファイルをダウンロードしてWorkbench.jarにリネームします。
適当なディレクトリに配置して以下のコマンドを実行。
java -jar Workbench.jar

起動を確認したらhttp://localhost:8080/へアクセスすれば動いてます。簡単ですね。

login


セットアップ

このままの状態だとユーザーを作れないのでadminユーザーでログインします。
デフォルトではIDがadmin、パスワードがpasswordに設定されています。

このままの設定だとセキュリティ的にまずいのでadminのパスワードを変更します。

admin_setting
赤丸で囲んだSettingを開いてChange Passwordタブから適当なパスワードに変更します。

次にサインアップを有効化して一般ユーザーを作成できるようにします。
global_setting
赤丸で囲んだGlobalSettingから設定を開いてサインアップを許可にチェックを入れます。

signup
ログアウトすると下に「CREATE AN ACCOUNT」と出てくるので、クリックしてアカウントを作成し、ログインします。

ここまでが初回セットアップです。他のユーザーにアカウントを作られないようにする場合は、改めてadminでログインしてサインアップを許可のチェックを外します。


プロジェクトを作成

今回はGithubを使っている前提でプロジェクトを作ります。
まずはpushを出来るようにGithubのアカウントをアカウントにひも付けます。認証に使えるのは今のところベーシック認証のみです。

git
Settingsを開いてGit AccountタブでGithubの認証用アカウントとパスワードを入力して終了です。

projects
次に左からProjectページを選択して、右上のCreateをクリック

必要な項目を入力してプロジェクトを作成。
projectcreate

プロジェクト名: プロジェクトの名前
Gitリポジトリ: gitのリポジトリのurl
作業ブランチ: 作業ブランチのマージ先。大体はmasterだと思う。
ビルドの有効化: ビルド機能を有効化します。
ビルドコマンド: ビルドを実行する時のコマンド。リポジトリをクローンしたrootで実行されます。
成果物のパス: ビルド後に保存する成果物のパスを正規表現で指定します。複数ファイルマッチした場合はzipにまとめられます。
テストの有効化: JUnitを使ったユニットテスト機能を有効化します。
テストコマンド: テストを実行するときのコマンド。リポジトリをクローンしたrootで実行されます。
テスト結果のパス: JUnitのテスト結果のパスを指定します。


課題の作成

左からTicketboardを選択。
NewカラムからAddボタンをクリック。

ticketboard

タイトルなどの必要な情報を入力してOKで課題を作成できます。
ステータスはD&Dで別のカラムへ移動させることで更新できる。詳細を確認する場合などは課題をクリックすることでダイアログを開くことが出来ます。


プルリクエストを作成

左からPullRequestを選択。
右上のNewボタンをクリック。

new_pr

タイトル説明・ブランチの他に関連するチケット(課題)の選択が必要。
プルリクエストを作ると、自動的に関連チケットのステータスがREVIEWに更新されます。

pr
レビューがおわったら右上からマージをクリック。
マージするとチケットのステータスがRESOLVEDに更新されます。
さらに、ビルドやテストの機能が有効化されていた場合はこの状態でビルドとテストが実行されます。


成果物のダウンロードとテスト結果

成果物はFilesページから、テストの結果はTestsページから確認できます。


おわりに

SpringBootで頑張ってみたけど、作業量がすごい多くて大変だった。
Webデザイナー1人とプログラマ3人で1年頑張ったけど(プログラマうち1人は11月頃に途中参加)もうすこし時間欲しかった感じはある。
最終的に750コミット越えてたし結構頑張ったんじゃないかな。今年はもう少し楽な作品作りたい思う。

ちなみにダウンロードは以下からできます。
http://workbench.orekyuu.net/