Deployer6系移行メモ

Deployer6系移行メモ

06, Dec 月琴かりん

4系を捨てて6系へ

Deployer4系から6系にしたら色々詰まったので、特にやばかった箇所のメモ

server.yml のロード関数変更

serverList()

が廃止になって

inventory()

に変わった。未定義です!って怒るだけじゃなくて、ちょっとは気の利いた警告だしてよ。

timeout設定の変更

デフォルト300秒に。伸ばす場合はset()で変更する。

set('default_timeout', timeout);

php7を要求してくるくせに、php7環境でやると、エラーを吐く問題

いろんな場面で

[Error] Call to undefined function Deployer\Utility\posix_setsid()

と怒られる。

yum install --enablerepo=remi-php71 php-process

とかで入れると改善するが、php-processが曲者で、emacsのサブシェルでやると、標準出力の制御文字がうまく解釈されずに盛大な文字化け空間を産んでしまう...

対処方法ありそうだけど、調べてない。

Host名チェック厳しくなった?

深くは追ってないけど、適当にhostsに書いたホスト名とか好きなラベルをー、とかやって、server.yml 定義してると不正なホスト云々怒られる。ふざけんなー。

ラベル、ホストの定義を共に実際のドメイン名にしてお茶を濁した。

Task::Context周りのメンバー変わった

元からドキュメントなかったところ、ソース解読して色々触ってたけど、盛大に変更されてほぼ爆死

Context::get()->getServer()->getConfiguration()->getHost();

とかが

Context::get()->getHost();

になったりね。

ちなみに上記の例の場合にはさらに罠があって、前まで"hostname" で返ってきたところ、 "user@hostname" で返ってくるようになった。

詳しくは、

  • https://github.com/deployphp/deployer/blob/bafb0b872a2e5ee1b64935f925a14fe581904ffc/src/Task/Context.php

を見よう。

Previous Post Next Post