Reverse Dictionary - movabletype/mt-dev GitHub Wiki
逆引き辞典
パッケージ+パッチの状態で起動する場合
- パッケージをダウンロードして、 archvie以下に置く
- パッチをダウンロードして、archive以下に置く
$ vagrant mt-dev up ARCHIVE="MT7-R4605.zip a-patch.zip"
のように実行する
mysql に接続する
$ vagrant up ...
で、検証のターゲットを先に起動する$ vagrant mt-dev exec-mysql
を実行する
mt-config.cgi なしの状態での、ウィザードからの起動
$ vagrant mt-dev up RECIPE=7.3 WITHOUT_MT_CONFIG_CGI=1
- http://192.168.7.25/cgi-bin/mt/mt-wizard.cgi からスタート
- ほんとは http://192.168.7.25/cgi-bin/mt/mt.cgi からスタートしたいが、うまくいかないので調整中
ブランチを指定して起動
- 基準になるレシピを https://github.com/sakk/mt-infra/tree/master/s3/sakk-qa/movabletype/recipe からダウンロードして、 mt-devの中のrecipeディレクトリに入れる、ファイル名は適当に変えておくとよい
- ファイルを編集して
branch: develop
のようになっているところを編集する $ vagrant mt-dev up RECIPE=今作ったファイル名(.yamlは除く)
で起動する- 検証後、いらなくなったファイルは削除してもよい
LDAP
docker で OpenLDAP を起動する
$ vagrant mt-dev up RECIPE=7.3 DOCKER_COMPOSE_YML_MIDDLEWARES="-f ./mt/mysql.yml -f ./mt/memcached.yml -f ./mt/ldap.yml"
な感じで起動するvagrant mt-dev exec-ldappasswd DOCKER_COMPOSE_YML_MIDDLEWARES="-f ./mt/mysql.yml -f ./mt/memcached.yml -f ./mt/ldap.yml"
で、 Melody に対するパスワードを指定する- mt-config.cgi は以下のような感じにする
# LDAP
AuthenticationModule LDAP
LDAPAuthURL ldap://ldap/ou=users,dc=example,dc=com?uid
LDAPAuthBindDN cn=admin,dc=example,dc=com
LDAPAuthPassword secret
LDAPAuthSASLMechanism PLAIN
ExternalUserManagement 1
ExternalGroupManagement 1
ExternalUserSyncFrequency 60
LDAPGroupNameAttribute cn
LDAPGroupIdAttribute entryUUID
LDAPGroupFullNameAttribute description
LDAPGroupMemberAttribute memberUid
LDAPGroupSearchBase ou=groups,dc=example,dc=com
LDAPGroupFilter (objectClass=posixGroup)
LDAPUserIdAttribute entryUUID
LDAPUserEmailAttribute mail
LDAPUserFullNameAttribute givenName
LDAPUserGroupMemberAttribute uid
指定するオプションを省略したい
.env ファイルを利用することができます。
以下のような内容で .env という名前ファイルを作成し、
ARCHIVE=MT7-R4605.zip
RECIPE=mt-plugin-MyAwsomePlugin
MT_CONFIG_CGI=mt-config.cgi-local
以下のように起動することができます。
$ vagrant up
$ # または vagrant up ENV_FILE=.env
tools
run-periodic-tasks
$ vagrant up ...
で、検証のターゲットを先に起動する(すでに起動済みなら何もする必要なし)$ vagrant mt-dev mt-shell CMD='./tools/run-periodic-tasks'
を実行する
run-periodic-tasks を常駐させる
「公開キュー」によるパブリッシングのときのよく使われる、run-periodic-tasksの常駐をテストする時
$ vagrant up ...
で、検証のターゲットを先に起動する(すでに起動済みなら何もする必要なし)$ vagrant mt-dev mt-shell CMD='./tools/run-periodic-tasks -daemon'
を実行する- そのまま、そこでログが表示され続ける。完了したら Ctrl-C で終了する。
rebuild-pages
以下の流れで実行する。
$ vagrant mt-dev mt-shell # これで環境に入る
# cpm install -g Web::Scraper
# mkdir -p local/lib/perl5/LWP/UserAgent
# curl -o local/lib/perl5/LWP/UserAgent/Local.pm https://raw.githubusercontent.com/movabletype/movabletype/master/t/lib/LWP/UserAgent/Local.pm
# perl -Ilocal/lib/perl5 ./tools/rebuild-pages ... # オプションを指定する
テストを実行する
本体部分のテストの場合
docker 環境があれば、 mt-dev を利用しなくても docker のみでも実行できます。
$ cd $MT_HOME
$ docker run --name mt-test -t --rm --entrypoint '' -v $PWD:/mt -w /mt movabletype/test:perl-5.28 prove -j4 -PMySQLPool=MT::Test::Env -It/lib t/*.t
vagrant 環境の場合
$ vagrant mt-dev up UP_ARGS='-d mt' # 任意のオプションをつける
$ vagrant mt-dev mt-shell ARGS="exec mt prove -j4 -PMySQLPool=MT::Test::Env -It/lib t/*.t"
docker 環境の場合
$ make up UP_ARGS='-d mt' # 任意のオプションをつける
$ make mt-shell ARGS="exec mt prove -j4 -PMySQLPool=MT::Test::Env -It/lib t/*.t"
# または
$ docker exec -t mt_mt_1 prove -j4 -PMySQLPool=MT::Test::Env -It/lib t/*.t
リポジトリを更新されたくない
RECIPEで指定した場合には、RECIPEに書かれたリポジトリを自動で更新( git checkout . && git pull
)されるのがデフォルトの挙動ですが、 UPDATE_BRANCH=no
を指定することでこの挙動をキャンセルすることができます。
$ vagrant mt-dev up RECIPE=7.3 UPDATE_BRANCH=no