Webブラウザで始めるRedmine Plugin開発
Redmineのプラグインを作る際には準備するものが色々あります。RubyやRedmine本体、開発するためのVScode等の環境など。
それらを用意しなくてもブラウザだけで簡単に開発を始められるツールを作りました。
Redmine Plugin Boilerplate
特徴
- RedmineのPlugin開発を簡単に始められます。
- Github Codespacesを使って開発できるので、Webブラウザさえあれば特別な環境なしにどこでも開発を行えます。
- Redmineのバージョン、Rubyのバージョン、データベースの種類の組み合わせを自由に変えられます。
- 既にプラグインを開発している方も、この仕組みを組み込むことができます。
プラグインの作り方
redmine_plugin_boilerplateを使用して新規にプラグインの開発を始める方法を説明します。
プラグインリポジトリ作成
redmine_plugin_boilerplateをブラウザで開き、Use this template → Create a new repository をクリックします。

すると以下のようなリポジトリ情報の入力フォームが開くので、必要な情報を入力します。Repository nameはプラグインの名前を入れて下さい。ここではmyfirst_pluginとしています。
PublicかPrivateかはどちらでも良いです。

Create repository をクリックすると新しいリポジトリができます。

Github Codespace作成
次に、<>Code → Code spacesタブ → Create codespace on main をクリックしてGithub Codespaceを作成します。

すると、以下のようにCodespaceがつくられ始めます。

Codespaceが出来上がると、以下のようにブラウザ上にVSCodeのような画面が表示されます。

プラグインの作成
Terminalを開き、以下のコマンドを実行します。
.devcontainer/plugin_generator.sh

するとプラグインのソースコードが生成されます。これでプラグインの雛形は完成です。
redmineを起動する
では次にcodespace上からredmineを実行してみましょう。.devcontainer/redmine.code-workspaceを開き、ワークスペースを開くをクリックします。

コードスペースが一旦閉じた後、再度オープンします。すると、左側のサイドバー上のツリー下部にRedmine本体のソースコードが表示されます。

左端のサイドメニューで「実行とデバッグ」のアイコンを選択し、実行とデバッグサイドバーを表示します。

メニューで「Rails server (redmine)」を選択し、実行しましょう。

redmineが実行され、右下に「ブラウザーで開く」ボタンが表示されるのでクリックします。

すると新しいブラウザが開き、redmineが表示されます。

後は先ほど作成したプラグインの雛形を編集し、プラグイン開発を行なってください。
RedmineとRubyのバージョンを変更する
RedmineやRubyのバージョンを変更して動作確認を行うことができます。.devcontainer/docker-compose.ymlを開き、RUBY_VERSIONとREDMINE_VERSIONをそれぞれ使いたいバージョンに変更します。ここでREDMINE_VERSIONにはRedmineのGithubリポジトリ上のブランチを指定します。例えばRedmine 5.0を使う場合には5.0-stableを指定します。開発中のバージョンを指定する場合にはmasterを指定します。

docker-compose.ymlを編集したら、コンテナのリビルドを行ってください。

すると、コンテナのビルドが走った後に、指定したRuby, Redmineのバージョンでcodespaceが開きます。
Discussion