[compose.yml,Makefile] docker レガシーコマンドから移行#122
Conversation
|
docker composeにするとteeにpipeしている関係か、MacのTerminalだと実行時の表示の改行コードが化けてしまいます。 docker-composeの場合 docker composeの場合 logファイルには正常に記録されているのでtty関連の問題かな。 |
|
おそらくバッファリングのせいでこうなってしまっているのかと マックの実機持っていないので再現が出来ませんが、 unbuffer docker compose exec builder /src/buildscripts/build_all | tee rebuild_$(date +"%Y%m%d_%H%M%S").log
stdbuf -oL docker compose exec builder /src/buildscripts/build_all | tee rebuild_$(date +"%Y%m%d_%H%M%S").log
script -q /dev/null docker compose exec builder /src/buildscripts/build_all | tee rebuild_$(date +"%Y%m%d_%H%M%S").log
docker compose exec -T builder /src/buildscripts/build_all | tee rebuild_$(date +"%Y%m%d_%H%M%S").logもしくはcompose.ymlにて疑似TTYを割り当てる services:
builder:
tty: true私の環境ではどれも変わりませんでしたためどれがうまくいくか試してください |
|
の行を にするのが良さそうです。 |
|
ありがとうございます これがうまくいかなければ、 makeに疎いので関係ない余談なのですが、makeを実行した際にプロンプトに表示されるこの、 これらすべて |
環境はlinuxですか? いずれも駄目でした。
OS-Xでbuildする人全員が対応必要なので、あまりやりたくないですね。
こちらはOS-Xでは出ないです。 |
- sedの区切り文字を/から>に変更してエスケープを回避 - DOCKER_COMPOSE変数を追加してdocker-composeとdocker composeを自動判定 - check_container_running関数を追加して重複コードを削減
Fix/change oldconfig to olddefconfig
- check_container_runningが成功した場合はdocker-composeを起動しないように変更し、失敗した場合に起動するように修正
refactor: Makefileの改善
|
一年ぶりの返答申し訳ございませんでした buildscripts/build_allに記述されているこのmake oldconfig→make olddefconfigに変更しました。 docker-composeコマンドの対応は
というような変更を行いました。 |
[compose.yml]
[Makefile]