いつもの
原因1 なんかDockerのコンテキストの扱いが変わった?
いつの間にやら、 docker buildx build -f aarch64/Dockerfile
とやったとき、カレントディレクトリ以下がcontextになっていたが、Dockerfileが存在するディレクトリ以下がcontextになるように仕様が変わった? ログを見るとそのような動きになっていたので、それに対応した。
原因2 Psychのインストールができずにビルド失敗
Railsのバージョンが上がったからか、 _Psych _を入れようとして bundle install
が失敗していた。解決法は libyaml-dev をインストールすること(debian / Ubuntu の場合)なのでDockerfileに追加した。
その他修正
独自バージョン番号を入れる
いままでは、 version.rb
を文字列置換して無理やり、ビルド日とgitのコミットIDを入れていたが、いつの間にか、 MASTODON_VERSION_METADATA
という変数が定義されていれば自動的に表示されるようになった。かと言っても、それを実行時に入れていたら意味がないので、コンテナイメージのビルド時に含めるようにした。(また文字列置換である)
かわりに、version.rb を触るのはやめた。
shallow clone するようにした
なぜか git clone
を普通にやっていたので depth=1
を追加した。
なぜ今までやってなかった…