CI/CD時代にlockファイルは必要?


パイプラインを使うだけではCI/CDとは言わない。

パイプラインが動くトリガーはコミットされるタイミング、テストは単体テストは自動 or 手動。
こういうパターンが多い。

lockファイルとは、プログラミング開発言語向けのパッケージ管理ツールが扱うファイルで、バージョンを固定する目的で使用されることが多い。
固定した結果、適度に更新しないとバグや脆弱性などを持ち続ける可能性がでてくる。

何故か自分のところだけはバグフィックスするけど、依存パッケージのバグは(自分で作らないで使いたがる割に)無視するという謎思考なバージョン固定好き好き人間が多い。
依存パッケージもバグフィックスが大量にされているのに。
そして、それを好む人間の特徴として、情報のアップデートができていないし、自分で取りに行こうとしない。

特別な理由(依存パッケージに致命的なバグがあって使い物にならない)場合を除いてlockファイルは使わず、自動的にインテグレーションテストとデプロイを繰り返し、経過をモニタリングして安定しているものを使うという運用がCI/CD時代に相応しいと思うがどうだろう。

パッケージのバージョンを知りたいだけなら、自動生成されるlockファイルを一緒にアーカイブしておけばいいだけ。
キャッシュの都合もあるのだろうけど、個人的には固定するのはどうなのか、と思う。