見出し画像

Odoo開発用Dockerコンテナ改良と16.0対応

OdooのAddOnを開発するために、Odoo公式が配布しているDockerコンテナを色々変更して使っていました。

このコンテナはバージョン14.0用の物を使っています。Odooはほぼ毎年メジャーバージョンが上がっていて、2022年11月現在の最新バージョンは16.0です。
どうせ使うなら最新版ということで、Dockerコンテナを改良して16.0に対応。あと、開発しやすいように変更を加えてみました。
今回作ったDocker-composeファイルとVSCode のdevcontainer機能用のファイルは以下のリポジトリに入っています。

Odoo16公式のDockerfileを使う

Odoo16公式のDockerイメージだと、ベースのOSとしてDebianのbullseye-slimが指定されています。これだと、開発のためにコンテナに入って色々やりたいときにコマンドが入っていなかったりするので、普通のbullseyeを使います。
Odoo公式Dockerfileを手に入れるために、以下のリポジトリをダウンロードして、16.0用のDockerfileをコピーしました。

Dockerfileの書き換え

使用するDebianをslimから通常版に変更。
gitとかopenssh-client、localesなど予めインストールできるようにしておきました。

devcontainerの設定変更

aptでの更新とrequirements.txtでのPython モジュールインストールを追加。

動作確認

odoo.confを、リポジトリをクローンしたディレクトリのひとつ上にconfigディレクトリを作りコピー。

 docker-compose up で、odooを立ち上げてみます。
localhost:8069 を開いて、DB作成。マスターパスワードはodoo.confに設定したものを使用。
できました。14.0と比べると色調が変わっているだけで、これだけだと差はよくわからず。

開発環境として整備

VSCodeからdevcontainerで開き直します。
ホスト側でssh-agentを動かした上で、コマンドプロンプトを開いて、コンテナからsshできるか確認します。

ssh-add -l
ssh -T git@github.com

その後、gitの最低限の設定を実施。

git config --global core.editor "code --wait"
git config --global core.autocrlf input
git config --global --unset core.sshCommand
git config --global core.sshCommand /usr/bin/ssh
git config --global user.name "[YOUR NAME]"
git config --global user.email "[YOUR EMAIL]"

これでgitも使えるようになるはず。
あとは適当なOdoo AddOnのリポジトリをクローンして実験したりできます。

今後の予定

デバッガからOdooのソースコードも見れるようになると、色々捗りそうなのでそれも出来るようにしてみたいです。

最近買ったOdooのAddOn開発本

Odoo公式のDeveloper用ドキュメントは良くまとまっています。これを読み込めば、それなりの物は作れるはず…
ですが、「XXをしたい時はどうする?」というのはオンラインを検索して見つけないとなりません。
ここらへんのXXをしたい時はどうする?がまとまっている参考書が有ったので購入してみました。

私はKindle版を買いました。しかし、余裕があれば紙版がおすすめです。Kindle版だと物理的なしおりが挟めず、書き込みもできず、さらに目次や章立ての形式がイケていないため、リファレンスとしては使いづらいですね。

サンプル内のviewに使われているメニュー関係のタグがdeprecatedになっている物が有ったのですが、ここらへん旧版から変更してないんでしょうか?

この記事が気に入ったらサポートをしてみませんか?