前回のおさらいと今回の概要
前回
今回はそこから一歩進んで,
なお,
シナリオ
あるWebサービスの開発現場では,
タスク管理にはRedmineのチケットを使い,
- デプロイ前にリリース予定のチケットをディレクターがチェックするルールだったが,
未チェックのままリリースされる事が多々あった。 - デプロイの履歴が管理されておらず,
過去にどんなリリースがあったかを遡る際に非常に手間がかかっていた。
そこで,
プラグインの仕様
まず1番の問題についてですが,
また,
画面イメージは以下のようになります。
雛形と初期設定
では早速作っていきましょう。まずは雛形を作成します。
$ ruby script/generate redmine_plugin ContinuousDeployment
続いて初期設定です。
init.
Redmine::Plugin.register :redmine_continuous_deployment do
name 'Redmine Continuous Deployment plugin'
author 'Takayuki Kyowa'
description 'Redmine Continuous Deployment plugin'
version '0.0.1'
menu :project_menu, :deploy_history, # ①
{ :controller => 'deployments', :action => 'index' },
:caption => "デプロイ", :last => true,
:param => :project_id # ②
permission :view_deploy_history, { :deployments => [ :index ] }, :public => true # ③
end
今回はメニューの追加先をプロジェクトメニューにしています
permissionメソッドの引数解説
permission
:deploy_histories, # パーミッションの名前。パーミッション全体で一意でなければならない。
{ :deployments => [ :index ] }, # 制御対象の画面をあらわすハッシュ。menuメソッドで指定したコントローラ / アクションを指定する。
:public => true # trueにすると常に表示される。
permissionメソッドで注意しなければならないのは,