$30 off During Our Annual Pro Sale. View Details »

部屋と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. 6 6/ /27 27 #gbdaitokai #gbdaitokai GitBucket GitBucketって何ぞ って何ぞ

  7. 7 7/ /27 27 #gbdaitokai #gbdaitokai GitHub GitHub

  8. 8 8/ /27 27 #gbdaitokai #gbdaitokai GitBucket GitBucket

  9. 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してドーン! してドーン!
  10. 10 10/ /27 27 #gbdaitokai #gbdaitokai https://twitter.com/razon/status/662750799374630912 https://twitter.com/razon/status/662750799374630912

  11. 11 11/ /27 27 #gbdaitokai #gbdaitokai https://twitter.com/kamekoopa/status/641840765904154624 https://twitter.com/kamekoopa/status/641840765904154624

  12. 12 12/ /27 27 #gbdaitokai #gbdaitokai GitBucket GitBucketの の プラグイン開

    プラグイン開発 発について について
  13. 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ライブラリ ライブラリ) )
  14. 14 14/ /27 27 #gbdaitokai #gbdaitokai Plugin.scala Plugin.scala

  15. 15 15/ /27 27 #gbdaitokai #gbdaitokai Plugin.scala Plugin.scala • admin/plugins

    admin/plugins
  16. 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を書く を書く
  17. 17 17/ /27 27 #gbdaitokai #gbdaitokai Plugin.scala Plugin.scala • plugin

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

    e.g. e.g.作業用ディレクトリ掘る 作業用ディレクトリ掘る 終了時の処理 終了時の処理(shutdown (shutdownメソッド メソッド) )もある もある プラグインの プラグインのController Controllerを記述 を記述
  19. 19 19/ /27 27 #gbdaitokai #gbdaitokai Plugin.scala Plugin.scala 既存の画面にリンクを生やすための 既存の画面にリンクを生やすためのJS

    JSを書く を書く URL URLパターン パターン -> -> 生やすコード 生やすコード
  20. 20 20/ /27 27 #gbdaitokai #gbdaitokai あとは新規の画 あとは新規の画面 面つくる つくる

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

  22. 22 22/ /27 27 #gbdaitokai #gbdaitokai Service Service

  23. 23 23/ /27 27 #gbdaitokai #gbdaitokai Model Model

  24. 24 24/ /27 27 #gbdaitokai #gbdaitokai View View

  25. 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
  26. 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
  27. 27 27/ /27 27 #gbdaitokai #gbdaitokai おしまい おしまい よい よいGitBucket

    GitBucketライフを ライフを