🙆‍♀️

python2ベースの10年越しのシステムを更新した

2021/06/27に公開

これまでPython2サポート終了と言われて一年が経っていたにも関わらず、家の中のシステムということで更新をサボっていた。
しかしマシンを変えてUbuntuを18.04から20.04ベースに上げた時にとうとうPython2のパッケージがいくつか工夫しないと(python-MySQLdbとかが)入れられなくなり、重い腰を上げてPython3にした。

移行にあたりFaaSベースも検討していたが、結局は既存のソースを少し変えてDockerベースにした程度の、相変わらず枯れた感じの構成になった。理由としてはモチベーションが低いので、とにかく少ない手数で再稼働させたいと考えたからである。

jenkinsはDocker上で動く用意した。これはdocker-composeで動いており、OSの再起動時に自動で立ち上がる。またbotを動かす環境はJenkinsからDockerで立ち上がるようになっている。これにはのホストのdocker.sockをJenkinsのコンテナと共有することで実現している。セキュリティ的には良くはないだろうけど、自分しか触らないので一旦はこのままで行く。本気でやるならAWS Fargateとか使ったほうがいいと思う。今までは動作確認を行う場合はVMに入って手で実行していたけど、今はDockerコンテナを呼ぶだけで動くようになっていて、既存の環境を壊すこともない。

VMじゃなくなったのでスケールできない問題はありそうだが、マシンがNUCの2コアCorei3からRyzen3になり高速になったので、しばらく困らなそうである。

Discussion