Upgrade to Pro — share decks privately, control downloads, hide ads and more …

部屋とYシャツと私とGitBucketとプラグイン

Yuuki Sumida
December 05, 2015

 部屋とYシャツと私とGitBucketとプラグイン

合同勉強会 in 大都会岡山 -2015 Winter-
https://gbdaitokai.doorkeeper.jp/events/31149

出来上がったものはこちらになります
https://github.com/shizone/GitBucket-BackChanneling-Notifier-Plugin

Yuuki Sumida

December 05, 2015
Tweet

More Decks by Yuuki Sumida

Other Decks in Technology

Transcript

  1. 1 1/ /27 27 #gbdaitokai #gbdaitokai 部 部屋と 屋とY Yシャツと私と

    シャツと私と GitBucket GitBucketと とPlugin Plugin 2015-12-05(Sat) 2015-12-05(Sat) 合同 合同勉強 勉強会 会 in in 大都会岡山 大都会岡山 -2015 Winter- -2015 Winter-
  2. 2 2/ /27 27 #gbdaitokai #gbdaitokai お お前誰 前誰よ よ

    • Yuuki Sumida(@razon) Yuuki Sumida(@razon) – 天領倉敷 天領倉敷Scala Scala – 座駆動 座駆動LT LT大会 大会
  3. 3 3/ /27 27 #gbdaitokai #gbdaitokai お お前誰 前誰よ よ

    https://twitter.com/railsgirlsokaya/status/664793886997385218 https://twitter.com/railsgirlsokaya/status/664793886997385218
  4. 4 4/ /27 27 #gbdaitokai #gbdaitokai お お前誰 前誰よ よ

    https://twitter.com/razon/status/660359995402293248 https://twitter.com/razon/status/660359995402293248
  5. 5 5/ /27 27 #gbdaitokai #gbdaitokai おしながき おしながき • GitBucket

    GitBucketって何ぞ って何ぞ • GitBucket GitBucketのプラグイン開発について のプラグイン開発について
  6. 9 9/ /27 27 #gbdaitokai #gbdaitokai GitBucket GitBucket • GitHub

    GitHubクローンの クローンのWeb Webアプリ アプリ – https://github.com/gitbucket/gitbucket https://github.com/gitbucket/gitbucket • Scala Scala製 製 • 設置がチョー楽 設置がチョー楽 – war war落としてきて 落としてきてjava -jar java -jarしてドーン! してドーン!
  7. 13 13/ /27 27 #gbdaitokai #gbdaitokai GitBucket GitBucketで で使 使われているもの

    われているもの • Scalatra(MVC Scalatra(MVCフレームワーク フレームワーク) ) – Scalstra Forms Scalstra Forms • Slick(O/R Slick(O/Rマッパー マッパー) ) • Twirl( Twirl(テンプレートエンジン テンプレートエンジン) ) • Jetty( Jetty(組み込みサーブレットコンテナ 組み込みサーブレットコンテナ) ) • H2 Database( H2 Database(組み込み 組み込みRDB) RDB) • JGit(Git JGit(Gitライブラリ ライブラリ) )
  8. 16 16/ /27 27 #gbdaitokai #gbdaitokai Plugin.scala Plugin.scala バージョンのリストを記述する バージョンのリストを記述する

    Version(0, 1), Version(0, 1), Version(0, 2), Version(0, 2), Version(1, 0) Version(1, 0) バージョンに対応した バージョンに対応した DB DBマイグレーション用の マイグレーション用のSQL SQLを書く を書く
  9. 17 17/ /27 27 #gbdaitokai #gbdaitokai Plugin.scala Plugin.scala • plugin

    pluginテーブルに適用済みのバージョンが入る テーブルに適用済みのバージョンが入る
  10. 18 18/ /27 27 #gbdaitokai #gbdaitokai Plugin.scala Plugin.scala 起動時の初期化処理 起動時の初期化処理

    e.g. e.g.作業用ディレクトリ掘る 作業用ディレクトリ掘る 終了時の処理 終了時の処理(shutdown (shutdownメソッド メソッド) )もある もある プラグインの プラグインのController Controllerを記述 を記述
  11. 20 20/ /27 27 #gbdaitokai #gbdaitokai あとは新規の画 あとは新規の画面 面つくる つくる

    • 基本的に本体と同じつくりになるので、似たよ 基本的に本体と同じつくりになるので、似たよ うな画面のソース読みながら真似していく感じ うな画面のソース読みながら真似していく感じ • 既成のプラグインも参考に 既成のプラグインも参考に • こわい こわいScala Scala力は不要 力は不要 • ふつうの ふつうのScala Scala力はそれなりに必要 力はそれなりに必要
  12. 25 25/ /27 27 #gbdaitokai #gbdaitokai できあがったら? できあがったら? • jar

    jarにパッケージングしてプラグインディレク にパッケージングしてプラグインディレク トリにコピー トリにコピー $ sbt package $ sbt package $ cp target/scala-X.XX/XXXXX.jar ~/.gitbucket/plugins $ cp target/scala-X.XX/XXXXX.jar ~/.gitbucket/plugins
  13. 26 26/ /27 27 #gbdaitokai #gbdaitokai 出 出来上がったものがこちらになります 来上がったものがこちらになります •

    GitBucket-BackChanneling-Notifier-Plugin GitBucket-BackChanneling-Notifier-Plugin – https://github.com/shizone/GitBucket-BackChanneling-Notifier-Plugin https://github.com/shizone/GitBucket-BackChanneling-Notifier-Plugin