Skip to content

Releases: movabletype/mt-dev

v2.8.0

23 Apr 06:17

Choose a tag to compare

改善された主な機能

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

15 Nov 02:11

Choose a tag to compare

追加された機能

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

30 Aug 07:19

Choose a tag to compare

Vagrant環境で起動する場合の元のイメージが "bento/ubuntu-24.04" になりました

この変更を適用するためには、 vagrant destroy で仮想マシンを削除してから、再度 vagrant mt-dev を実行して起動する必要があります。(起動の際に自動で新しい仮想マシンが作成されます)
仮想マシンを削除すると全てのデータベースのデータが失われます。更新を行わない場合には、2.5.1 を使い続けることができ、現時点では機能の差分はありません。

v2.5.1

30 Aug 05:35

Choose a tag to compare

追加された機能

mt/mailpit.yml を同梱しました

以下のように指定すると mailpit を起動することができます

$ vagrant mt-dev up-psgi DOCKER_COMPOSE_USER_YAML="-f mt/mailpit.yml"

セキュリティ上の修正

CPANモジュールのインストールをhttps経由で行うようにしました

v2.5.0

15 Feb 07:40

Choose a tag to compare

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

18 Jul 06:17

Choose a tag to compare

互換性の問題を修正しました

Digestモジュールが1.17以下の場合にrecipeにarchiveを指定するとエラーが発生していたため、修正しました。

v2.3.0

13 Jul 04:48
339fc9b

Choose a tag to compare

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

15 Feb 00:14
6ced65a

Choose a tag to compare

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

24 Aug 05:34

Choose a tag to compare

  • 一時ファイルの削除時に発生するエラーを、無視しても動作上影響がない場合には無視するようにしました
  • 常に最新のdocker imageが使われるようにオプションを調整しました
  • REPO の環境変数で外部のリポジトリを指定する場合に、ブランチ名に /- が含まれていても問題なく動作するように修正しました

v2.1.1

20 Jun 07:38

Choose a tag to compare

v2.1.0 で、 docker-compose のバージョンが古い場合にエラーとなる問題があったため、これを修正しました。