2023/07 の記事一覧

コンテナ中でVCS Stampingが失敗する話

こんにちは、garsueです。最近、手元の開発環境を一新していて遭遇したちょっとした小ネタを紹介します。同じ問題に遭遇する人もいそうな気がするので参考になれば幸いです。

事象: DockerにマウントしたGoのプロジェクトでビルドがコケる

当社の開発環境では開発中のコードをDockerのコンテナにマウントしてコンテナ中でビルドしています。その際に一部のコンテナで以下のエラーとともにビルドが失敗していました。

error obtaining VCS status: exit status 128
Use -buildvcs=false to disable VCS stamping.

VCS StampingはGo 1.18から追加された機能で、Gitなどのバージョンコントロールシステムからリビジョン番号などを取得してバイナリに埋め込む機能です。

エラーの詳細としては exit status 128 としか表示されておらず、なぜ失敗しているのか上記のエラーだけではパッとはわかりませんでした。

なお、単にエラーが起きないようにするだけならエラーメッセージにあるようにビルドオプションに -buildvcs=false を追加すればいいだけです。大抵の場合、開発途中では不要かと思います。1