Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DockerビルドCI: デフォルトのタグをUbuntu 22.04ベースのイメージに切り替える提案 #1500

Closed
1 of 3 tasks
aoirint opened this issue Dec 3, 2024 · 3 comments · Fixed by #1505
Closed
1 of 3 tasks
Assignees
Labels
機能向上 状態:実装 実装をおこなっている状態

Comments

@aoirint
Copy link
Member

aoirint commented Dec 3, 2024

内容

で出た内容をIssue化します。

Ubuntu 20.04のサポート期限が2025年4月に迫っていますが、
先日、Ubuntu 22.04ベースのDockerイメージが追加されました。

Dockerイメージはビルド時の環境で固定され、OSバージョン内での修正(パッケージのアップデート)は
VOICEVOX Engineの新しいバージョンがリリースされたタイミングで、ベースイメージの更新を受けて反映されている見込みです。

一方、OSバージョンの更新はマイナーバージョンが上がる機能リリースのタイミングで反映することになると思いますので、
リリースに反映するまでに時間がかかると思います。

そこで、Ubuntu 20.04のサポート期限が到来する前に、
Dockerイメージのデフォルトのタグ(latestcpu-latestなど)をUbuntu 20.04からUbuntu 22.04に変更する提案をします。

Pros 良くなる点

  • 近い機能リリースのバージョンでサポート期限切れまたはすぐにサポート期限切れになるOSがデフォルトにならない

Cons 悪くなる点

実現方法

のあと、Ubuntu 20.04のtags,cpunvidiaをUbuntu 22.04のtagsに移動する。
空文字列はバージョン文字列のみの意味なので、,cpulatestcpu-latestの2つのタグを意味する。

VOICEVOXのバージョン

0.22.0 開発版

OSの種類/ディストリ/バージョン

  • Windows
  • macOS
  • Linux

その他

@aoirint aoirint self-assigned this Dec 3, 2024
@aoirint
Copy link
Member Author

aoirint commented Dec 3, 2024

が終わったら取り組もうと思っているので、セルフアサインしました。

@Hiroshiba
Copy link
Member

Hiroshiba commented Dec 3, 2024

とても良いと思います!!
22.04をデフォルトにしましょう!!

dockerのイメージって、PCソフトがサポートするOSバージョンとか、ライブラリがサポートする言語バージョンとかと違って、サクサク最新版にしちゃっても良い気がしますね!
動けばよいというのと、新しいほうがきっとビルドしやすいだろうというのと。(後者は議論の余地がありそう。)

ついでなので、dockerビルドする対象のOSバージョンについて今後の方針も少し考えてみました。

  • 考え方:ビルドのしやすさ最優先で良さそう!
  • ubuntuが良い
    • 情報がたくさんありそうなので
  • 最新版にすぐ飛びつくのは避けたい
    • コミッターにubuntuのほぼすべてがわかるようなプロがおらず(?)、ビルド情報が溢れてないので
    • LTSになってから・・・1年か1年半くらいで導入開始が良さそう・・・?
    • ちょっとここの感覚自信ないのでコメント募集したいです 🙇
    • でもある分には問題なさそう
      • 実験的な機能(動かなくなるかも)としてリリースする感じが良いかも
  • 古いのをメンテする理由はなさそう
    • どちらかというと、移行が後回しになって古くなっちゃってる感じ。
  • 複数ビルドする理由はなさそう・・・?
    • 今みたいにubuntu 20と22をビルドする理由はないのかも
    • いやでも冗長性の確保にはなってるのかも。22が動かないときにとりあえず20だけみたいな。
    • 古いほうがなんか動かなくなったときは切っても良さそう!
    • 逆に移行するときは半年〜1年くらいは2つリリースし続けても良さそう。

いったんベース案まで!

@aoirint
Copy link
Member Author

aoirint commented Dec 11, 2024

複数ビルド

たしかに、ベースイメージとして提供されているようなイメージだとGLIBCとか共有ライブラリのバージョンを合わせたい需要があるからなのか複数のOSバージョンで提供されていますが、エンジンはHTTP APIでやり取りするアプリケーションのDockerイメージなので、単体のバージョンでもいいのかもと思いました。

@aoirint aoirint added the 状態:実装 実装をおこなっている状態 label Dec 14, 2024
@aoirint aoirint changed the title DockerビルドCI: デフォルトのタグをUbuntu 22.04に切り替える提案 DockerビルドCI: デフォルトのタグのベースイメージをUbuntu 22.04に切り替える提案 Dec 14, 2024
@aoirint aoirint changed the title DockerビルドCI: デフォルトのタグのベースイメージをUbuntu 22.04に切り替える提案 DockerビルドCI: デフォルトのタグをUbuntu 22.04ベースイメージに切り替える提案 Dec 14, 2024
@aoirint aoirint changed the title DockerビルドCI: デフォルトのタグをUbuntu 22.04ベースイメージに切り替える提案 DockerビルドCI: デフォルトのタグをUbuntu 22.04ベースのイメージに切り替える提案 Dec 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
機能向上 状態:実装 実装をおこなっている状態
Projects
None yet
2 participants