プラグインを入れたイメージの作成¶
最終更新日:2024/09/07
Podmanで解説します。
イメージ作成¶
containers/bitnami/redmine at main · bitnami/containers
https://github.com/bitnami/containers/tree/main/bitnami/redmine
RedmineはBitnamiが作成しているDockerイメージで簡単に構築可能。
今回はこのBitnami版RedmineにView Customizeプラグインを入れる。
そのためにDockerfileを編集し、予めプラグインを入れたイメージを作成する。
(1):ファイル取得¶
リポジトリをクローンして取得する、普通に圧縮ファイルで取得して解凍してもOK。
いつからか、Bitnamiの各種コンテナが1つのリポジトリに集められてしまった。 超見づれぇ~
今回必要なのは「bitnami/containers/redmine」のみで、他の不要なフォルダは削除してしまっても問題ない。
bitnami/containers: Bitnami container images
https://github.com/bitnami/containers/
今回入れるView Customizeプラグインも同様に取得しておく。
プラグインは後でイメージにコピーするので「5/debian-12/」フォルダに置いておく。
onozaty/redmine-view-customize: View customize plugin for Redmine
https://github.com/onozaty/redmine-view-customize
(2):Dockerfile編集¶
「5/debian-12/」フォルダに移動し、「Dockerfile」をエディタで開き編集する。
やることは1つで、プラグインをイメージにコピーする文を追加する。
イメージ作成時はプラグインをコピーするだけで、コンテナ作成後に手動でセットアップする。
手動セットアップ方法は後ほど。
...
RUN apt-get autoremove --purge -y curl && \
apt-get update && apt-get upgrade -y && \
apt-get clean && rm -rf /var/lib/apt/lists /var/cache/apt/archives
# ここから
# Add Plugins
COPY view_customize /opt/view_customize
# ここまで
COPY rootfs /
...
以前はView Customizeプラグイン用に「Nokogiri」というライブラリを使用するためのパッケージをインストールしていたが、不要になった。
(Native gemsに組み込まれたらしい)
なんかまた必要になった。
インストールする分には悪さしないと思うので、もう確定でインストールしちゃいましょう。
まずは「Nokogiri」というライブラリを使用するためのパッケージをインストールさせるようにする。
https://nokogiri.org/tutorials/installing_nokogiri.html
パッケージインストール文に、必要なライブラリ「build-essential」「patch」「ruby-dev」「zlib1g-dev」「liblzma-dev」を追加する。
さらにプラグインインストール時に要求された「wget」も追加する。
# Install required system packages and dependencies
RUN install_packages (長いので中略) zlib1g-dev build-essential patch ruby-dev liblzma-dev wget
以前の手順ではイメージ作成時にセットアップしていたが、その方法はできなくなった。
(3):ビルド¶
ビルドしてイメージを作成する。
podman build ./ -t redmine_custom:1.0.0 --format docker
「--format docker」はPodmanのビルド用オプション。
Bitnami版RedmineのDockerfileがDocker用に作成されているので、それに合わせる。
終了後はイメージ一覧コマンドで作成され追加されているか確認する。
コマンド
podman images
結果
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost/redmine_custom 1.0.0 c8e21d2f0626 27 minutes ago 743 MB
(4):プラグイン手動セットアップ¶
プラグインを有効にするには、コンテナ作成後に手動でセットアップする必要がある。
といってもコンテナに入ってプラグインをRedmineのプラグインフォルダに移動させ、そこでインストールコマンドを打つだけ。
インストールした後はコンテナの再起動を忘れずに。
1.コンテナに入る¶
podman exec -it (コンテナ名) /bin/bash
2.プラグインをRedmineのプラグインフォルダに移動¶
cd /opt/
mv view_customize/ bitnami/redmine/plugins/
3.Redmineのフォルダに移動しインストールコマンドを実行¶
cd bitnami/redmine/
rm Gemfile.lock
bundle config unset deployment
bundle install
動作確認¶
実際に作成したイメージを使って、ちゃんとプラグイン一覧にView Customizeがあれば完了。
ちなみに2個以上のプラグインをDockerfileで入れたことないので、やりたい人は自分の目で確かめてみよう!