Releases: movabletype/mt-dev
v2.8.0
改善された主な機能
shebang の設定を見直しました
bash が /bin/bash 以外の場所にインストールされている環境でも動作するように、shebang を /usr/bin/env bash に変更しました。
mailpitを利用した場合にデータが永続化されるようになりました
以下のように起動すると mailpit を利用できますが、その際に受信したメールのデータベースが、起動し直しても永続化されるようになりました。
$ make up-psgi DOCKER_COMPOSE_USER_YAML="-f mt/mailpit.yml"
その他には以下のプルリクエストがマージされています。
v2.7.0
追加された機能
MySQL利用時に、SSLの証明書をmt-devで生成するようになりました
これまではMySQLのイメージで自動で生成されていましたが、mt-dev側で生成するように変更されました。mt-devの直下の "ssl/certs" 以下に証明書が生成され、mt-devはmt(MTの実行)やhttpd(ダイナミックパブリッシングの実行)のコンテナでは "/mt-dev" としてマウントされるため、mt-config.cgiで以下のように指定することで証明書を指定してSSLで接続することができます。
DBIConnectOptions mysql_ssl=1
DBIConnectOptions mysql_ssl_verify_server_cert=1
DBIConnectOptions mysql_ssl_ca_file=/mt-dev/ssl/certs/ca-cert.pem
DBIConnectOptions mysql_ssl_client_key=/mt-dev/ssl/certs/client-key.pem
DBIConnectOptions mysql_ssl_client_cert=/mt-dev/ssl/certs/client-cert.pem
DOCKER_MYSQL_COMMANDでmysqldの起動時のオプションを指定できるようになりました
以下のように DOCKER_MYSQL_COMMAND を使ってオプションを指定することができます。
$ vagrant mt-dev up-psgi DOCKER_MYSQL_COMMAND="--require-secure-transport"
MySQL 9 系のサポート
以下のように指定するとMySQLの9系で起動できます。
$ vagrant mt-dev up-psgi DOCKER_MYSQL_IMAGE=mysql:9
MySQL 9では、ルートユーザーはcaching_sha2_passwordの認証プラグインで作成されます。caching_sha2_passwordではSSLでの接続が必要になるため、mt-config.cgiにSSLの証明書の設定を追加する必要があります。
デフォルトのバージョンの変更
言語や実行環境のデフォルトのバージョンが以下になりました。
- Perl: 5.38
- PHP: 8.3
- Node.js: 20.17.1
v2.6.0
v2.5.1
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