Releases: movabletype/mt-dev
v2.5.0
recipeにコマンドを指定して make up
の際にビルドできるようになりました
以下のように build の下に command を指定すると、指定したコマンドが実行されます。コマンドは文字列、または配列で指定することができます。
mt-plugin-MTBlockEditor:
location: git@github.com:movabletype/mt-plugin-MTBlockEditor
branch: develop
build:
command:
- docker-compose
- run
- builder
- bash
- -c
- 'perl Makefile.PL && make build'
v2.3.2
v2.3.0
Docker imageの更新をスキップできるようになりました
デフォルトでは起動のたびに Docker image を更新しますが、 UPDATE_DOCKER_IMAGE
の環境変数に no
を指定することで、更新をスキップできるようになりました。
zipやtarで提供されているプラグインの指定をrecipeから行えるようになりました
recipeの中で、ファイルのURLとintegrity(HTMLのintegrity属性と同様の仕様です)を以下のように指定します。
mt-plugin-MTBlockEditor:
archive:
url: https://github.com/movabletype/mt-plugin-MTBlockEditor/releases/download/v1.1.10/MTBlockEditor-1.1.10.tar.gz
integrity: sha512-VCrI5B/cv4FAEV7O9GPOsJGEATwRcw4GqjVCWZiMPSkC9jx2l0kjnTXl6M2Xvv/x6THnPQj9VgxX9B0MG7a25g==
その他の改善と修正
- mt-watcherのDockerfileをリファクタリングしました。
- amd64のDockerimageをarm64のアーキテクチャで起動した場合の互換性が向上しました。
Support arm64
arm64環境に対応しました
M1チップやM2チップのようなarm64の環境でも、設定を変更せずに起動できるようにしました。
デフォルトのデータベースサーバーがMySQL 8.0.32になりました
オプションを指定せずに起動した場合のデータベースサーバーが、MySQLの5.7.29から8.0.32に変更になりました。mt-devでは5.7.xと8.0.xではデータの保存場所が異なるので、5.7.29で使っていた場合にはこのリリースに切り替えると以前のデータを利用することができなくなります。以前のデータを引き続き利用したい場合には、以下のような回避方法があります。
5.7.xのデータをコピーして、8.0を使う
Vagrant環境
[host] $ vagrant mt-dev down
[host] $ vagrant ssh
[vm] $ docker volume rm mt_mysql8
[vm] $ docker-compose -f /home/vagrant/mt-dev/mt/mysql.yml run --rm -e DOCKER_MYSQL_VOLUME=mysql8 db true
[vm] $ docker run --rm -v mt_mysql5:/mysql5 -v mt_mysql8:/mysql8 -u0 ubuntu sh -c 'cp -pR /mysql5/* /mysql8'
Docker環境
$ make down
$ docker volume rm mt_mysql8
$ docker-compose -f mt/mysql.yml run --rm -e DOCKER_MYSQL_VOLUME=mysql8 db true
$ docker run --rm -v mt_mysql5:/mysql5 -v mt_mysql8:/mysql8 -u0 ubuntu sh -c 'cp -pR /mysql5/* /mysql8'
MySQLのバージョンを固定して使う
Vagrant環境
$ vagrant mt-dev up DB=mysql:5.7.29 ...その他のオプション
Docker環境
$ make up DB=mysql:5.7.29 ...その他のオプション
arm64の場合にはこの指定だけでは起動できないので、mt/mysql.ymlに以下のような変更を加える必要があります。
diff --git a/mt/mysql.yml b/mt/mysql.yml
index ec47290..056e3ce 100644
--- a/mt/mysql.yml
+++ b/mt/mysql.yml
@@ -2,6 +2,7 @@ version: "3"
services:
db:
image: ${DOCKER_MYSQL_IMAGE:-mysql:8.0.32}
+ platform: linux/amd64
environment:
MYSQL_ROOT_PASSWORD: password
command: --default-authentication-plugin=mysql_native_password
v2.1.2
v2.1.1
v2.1.0
Vagrant環境を利用している場合、ホストのポートを転送するようになりました
デフォルトでは5825番ポートが、MTが稼働するコンテナの80番ポートに転送されます。この変更により、以下のURLでもMTにアクセスできるようになりました。(この設定を使う場合、後述するmt-config.cgiの設定を相対パスにすることをおすすめします。)
http://localhost:5825/cgi-bin/mt/mt.cgi
ポート番号は VM_VB_HTTP_PORT
の環境変数で指定することもできます。例えば8080を利用する場合には以下のように起動します。
$ VM_VB_HTTP_PORT=8080 vagrant mt-dev up ...
mt-config.cgiのCGIPathとStaticWebPathを相対パスで指定できるようになりました
これまではホスト名を含めて指定する必要がありましたが、ホストからの相対パスを指定しても問題なく動作するようになりました。
CGIPath /cgi-bin/mt/
StaticWebPath /mt-static
データベースが自動で作成されるようになりました
mt-config.cgiの Database
に指定されたデータベースが存在しない場合に、自動で作成されるようになりました。
自動で作成される挙動を望まない場合には、 CREATE_DATABASE_IF_NOT_EXISTS
環境変数に no
を指定することで作成をスキップすることができます。
$ vagrant mt-dev up CREATE_DATABASE_IF_NOT_EXISTS=no ...
起動時にcpanfileを指定してcpan moduleをインストールできるようになりました
DOCKER_MT_CPANFILES
環境変数で指定できます。
v2.0.0
dockerコンテナのカスタマイズがしやすくなりました
以前のバージョンでも任意のdocker imageを指定して起動することはできましたが、docker imageの管理は別途行う必要がありました。
今回のリリースでは、Dockerfileやあるいはdocker imageをビルドするコンテキストをコマンドラインから指定できるようになりました。これを利用すると開発者同士で、特殊な設定のコンテナを共有することが容易になります。
Visual Studio CodeのdevcontainerのためのDockerfileが同梱されるようになりました
dockerコンテナのカスタマイズの例として、mt-devにdev containerのためのDockerfileが同梱されるようになりました。以下のように指定すると dev container ようのパッケージや初期設定が追加されたコンテナが起動され、Visual Studio Code から接続することができます。
$ make up-psgi run ARCHIVE=MT7-R5005.tar.gz DOCKER_MT_DOCKERFILE=Dockerfile.devcontainer DOCKER_HTTPD_DOCKERFILE=Dockerfile.devcontainer
詳細はDocker Containerのwikiページで説明されています。
デフォルトのPHPのバージョンが8.0になりました
デフォルトのPHPのバージョンが7.3から8.0に変更になりました。
v1.1.1
デフォルトのVMのIPアドレスを192.168.58.25に変更しました
- 変更前 : 192.168.7.25
- 変更後 : 192.168.58.25
VirtualBox が 6.1.28 から Host-Only Network で 192.168.56.0/21 の範囲しかサポートされなくなり、これまで mt-dev でデフォルトとして利用していた 192.168.7.25 が利用できなくなったため、IPアドレスを 192.168.58.25 に変更しました。
docker-composeの2.0に対応しました
コンテナ名の命名ルールが変更になり、一部の機能が利用できなくなるケースがあったので対応しました。
コンテナ内でサービスを起動できるようにしました
Movable Typeのプロセスだけではなく、常駐するサービスをしていできるようにしました。例えばpostfixを起動する場合には以下のように指定します。
$ vagrant mt-dev up ARCHIVE=MT7-R5005.tar.gz DOCKER_MT_SERVICES=postfix
v1.1.0
PSGIのデフォルトの起動オプションから -R を削除しました
これまでは -R
オプションでファイルの起動を検知してリロードする設定になっていましたが、以下の理由から削除しました。
-R
オプションでリロードした場合に MT が正常に初期化されない- starmanのドキュメントでも
-R
は非推奨になっている
mt-watcher コンテナが追加になりました
-R
を無効化した代わりに、ファイルの更新を検知するための mt-watcher
が追加になっています。(psgiで起動する場合にのみ起動されます)
詳細や追加された変数はwikiのArchitecture#mt-watcherで確認できます。