SSブログ

ソフトウェアのアップデートを仕事でやってるけど… [ソフトウェア]

安いお賃金でインフラエンジニアみたいなことをやっているんだけど、RHELでdnf upgradeをするだけの楽なお仕事だったりします。でも、上手くいかない時はほとんど英語のドキュメントを漁って解決しています。最近はコアな話になると検索上位に中国語のページが出てきて、アングラやってるわけじゃねーんだけどなと嫌になります。大体本家ページの掲示板とかが一番問題がないことが多いんだけど、なんにしても情報が見つかればそれでいい。

普通のOSSはdnfとかyumでアップデートできるんだけど、普通はアップデートしてもそのまま動く。まぁそれが普通なんだけど、Jenkinsは短い期間のアップデートであったとしても、設定ファイルが読み込めないという状態になっていた。

JenkinsはJavaで作られていて、Javaの作り方はよく知らないんだけど、設定ファイル(config.xml)は短いスパンでの互換性がないみたい。普通に考えるとそんな状態はおかしいのだけれど、Jenkinsはそうなっているようだ。多分ファイルへのシリアライズとかが変数の名前とその中の値をそのまま使うとかそういうことなんだろうと思う。もしそうだったら互換性的には地獄である。設定を保存するという点において作る方は楽はできるんだろうけど、少し変えただけでも読めなくなる可能性が大だ。

普通に考えれば、そんなにバージョンが離れていないのに設定ファイルが読めなくなるなんてことはありえないわけで、そういう大きな非互換性があれば大々的にアナウンスするのが普通でそうしたくないがために互換性を保つのが普通だ。それだけ設定ファイルというのはバージョン間で使い回しをするので、丁寧な扱いをするのが通例で、公式のリポジトリからアップデートして立ち上がらなくなるのは初めてかもしれない。

それが二つ以上のメジャーバージョンをまたぐとか、明らかに互換性がなくなるという触れ込みがあったらまだいいですよ。でもそうじゃないし、そんなんじゃどうしようもないよね。結局の解決方法は、config.xmlをリネームして無い状態にして、Jenkinsを起動すると立ち上がって新しいconfig.xmlが作られてログイン画面は出るようになる。でも、今までLDAPで入っていたので、マスターパスワードがわからない。前任者が残していないのだ。クソすぎる。なので無理やり入る。

https://confrage.jp/jenkins%E3%81%A7%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%82%92%E5%BF%98%E3%82%8C%E3%81%9F%E5%A0%B4%E5%90%88%E3%80%81%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3/

そうしてLDAPを設定して自分のパスワードで入れるようにはなった。ただみんなに管理者権限がついてしまうので問題で、そこの設定をしないといけないんだけど、Webの情報が昔のばかりで設定の方法がわからない。そもそもその選ぶ項目がなかったりして皆目見当がつかない。管理者権限のメニューにそれらしいところはあるのだけれどイマイチ的をいない。

LDAPの設定だって少し設定を間違うと、サクッとまっさらにクリアされてしまって覚えていてくれない。LDAPはそこそこ色々設定するので、何回もそれをするのはしんどすぎる。ことごとくJenkinsは酷い作りになっている。動くことは動くがユーザーフレンドリーではない。マイナーなOSSではないと思うのだが、ここまで使いにくいのは有名なOSSとしては珍しい。そうして衰退していくのではないかなとちょっと思った。代替品があったら他に変えたいところだけど、元々弊社では縮小していく予定のプロダクトなので、もう使えなくてもいいやという投げやり感ではある。

どうせ動かなくなることがわかっているなら、最初から前のファイルをバックアップを取ってまっさらな設定ファイルに置き換えるとかすればいいのにと思う。その自覚さえなかったって話? それとエラーが出ていたんだけど、config.xmlがIOエラーになっていて、最初はパーミッションなどが書き換えられていたのかと思って、chmodとかchownとかでいじっていたのだけれど、それは見当違いだったようです。それにしても、設定ファイルの非互換性をIOエラーで処理するのは間違っているんじゃないのと思わざるを得ない。エラー出力がそもそも違うということはよくあることで、そこまでツッコむことではないのだけれど、訳のわからないエラーが出た時に違う理由が書かれていたら頭くるよねw。

ここに書くネタがないので仕事のことを書くしかないよなぁ。とはいえ、技術的なことしか書けないのだけれど、ニーズがあんまりないかもだよね。一般的な製品のトラブルシューティングほどPVもあんまり伸びないし。ググってもあんまり出てこない情報をかき集めて道筋をつけることぐらいしかできないし、英語のサイトの翻訳みたいなことをするのも違うと思うし、ChatGPTとかがある今、そこまで必要な情報ではないのかもしれないな。

コメント(0) 
共通テーマ:パソコン・インターネット

コメント 0