やっぱJenkins導入すべきだな

以前、インドに行ってた時、SIerの会社から来た人たちが何人か居て、その人達と「Jenkinsとか使ってる?」という話をしてた。その内の一人の方が、「うちは使っているけど、全社的に導入しているというわけではなく、新しいことが好きな人達が導入している程度」と言っていた。うちの会社もそんな感じである。

私はJenkins使いたいけど使ってない。理由はいくつかあるのだけど、一番大きな理由は、私の今のプロジェクトはC#で実装しているということである。もちろんC#でも実装できるのだけど、Windows上でJenkinsを導入するのがちょっと面倒くさい。

今、私のプロジェクトではSubversionで構成管理をやっていて、SubversionのリポジトリはLinux上に構築してある。それにWebDAVでアクセスできるようにしてあって、WindowsからTortoiseSVNを使って色々弄くり回せるようにしてる。まあ、普通にやったらこうなるよな。

Jenkinsを導入するにあたっては、当然ながらJenkinsからコンパイラを叩く必要があるのであって、C#だと普通はWindowsのVisualStudioに付属するコンパイラ・リンカなどをJenkinsから叩くことになる。(Mono使えばいいじゃん、ってのは無しの方向で)

じゃあWindowsにJenkins導入することになるんだけど、ここがすごく億劫だし、やるのが難しい理由がある。

まず、Windows上にこういう感じの、オープンソースなソフトをあんまり入れなくない。「こういう感じ」というのは、たとえば、Apacheとか、Tomcatとか、Perlとかね。こういうソフトを入れて設定ファイルに「c:\apache\www\xxxx」みたいなパスを書くのがすごく不気味だからだ。なんかこいうことをすると絶対動かない気がする。いや、動くんだけどね。でも不気味。これが一番イヤ。

次にイヤなのが、VisualStudioのライセンス。うちの会社はケチだから、ソフト屋を標ぼうしている会社のくせに、従業員のPCに入れるVisualStudioのライセンスが足りず、しかもなかなか買ってくれない、(固定資産税取られるから、プロジェクトの金で買えと言われる)というとんでもないMAXウンコ状態である。

ましてや、いまやってるプロジェクトなんかは、サードパーティ製のぼったくりバーも真っ青なくらいの法外に高い割に大して便利でもないしょうもないライブラリを使うことを強要されているので、これのライセンスも必要だ。

これらをJenkins構築用にもう1セット揃える金で軽自動車が1台新車で買えるくらいの金がかかる、いや、買うグレードによっては下手したらアコードハイブリッドが新車で買えるくらいの金がかかるため、ライセンスを追加導入するというのは絶対に認められないだろう。

すると、普段開発用として使ってるPC上にJenkinsを導入しなくてはならない。

したら、本末転倒なことになる。なぜかというと、そもそもJenkinsの導入する一番の動機というのは、「定期的にビルドして単体テスト走らせるのが、処理が重いし、時間もかかるからめんどくせーんだよ」ということであることに拠るからだ。普段開発用として使ってるPC上で定期的に単体テストを走らせることができるんなら、そもそもJenkins使わねーんだよ、ってことである。

でもそういうことを言ってられなくなってきたのは、いろんな人がプロジェクトに入っていろんなコードを書くので、いっぱいバグが発生してきていること。昔は私一人でコードを書いていたのだが、インドに行って留守にしてたりとかしている間に好き勝手された。その結果、単体テストでバグがいっぱい出て、しかもそれを放置されている。まあ、言い訳ですが。

こういうことになると、客から突然連絡がきて「デグレが発生しています(キリッ)」とか言われる。お前デグレって言いたいだけだろ、とイラっとくるんだが、こちらが悪いのでなんにも言えない。

こういうことがあまた発生するともう精神衛生上大いによろしくないので、Jenkinsをいよいよ導入して、バグが発生した瞬間に「お前が悪い。すぐ直せ」ってメールをバグを発生させた人に自動的に送りつけてほくそ笑むことを生業としたいのだけれども、いやあ、前述の問題点が解決できたわけでもないので、前途多難ですなあ。どうすればいいかなあ。と考えておる次第である。