プラグインをコミュニティにホストするには

オフラインで質問を受けたのでここに書きます。


公開されているJenkinsのプラグインhttp://github.com/jenkinsci/ にできるだけ集めてメンテしたいと思っています。 これによって、オリジナルの開発者が去っても他の人が開発を継続できますし、コミュニティの他の人が開発に参加するのが容易になるからです。では、どうやってリポジトリを作ったらよいでしょうか。


一つ二つしかプラグインを書く予定がない場合には、メーリングリストGitHub IDとプラグインの名前を言って、既存の開発者に必要な操作をやってもらってください。これが一番簡単です。


他人任せではなく自分で作れるようにするためには、もうちょっと面倒な操作手順を踏む必要があります。でも、これをやってくれる人が一定数以上いないと新しい開発者が困ってしまうので、われこそはと思う人はよろしくお願いします。


GitHubの仕組みでは、リポジトリを作成するには管理者権限が必要なのですが、Jenkinsプロジェクトの「コミュニティに参加する敷居を下げる」のモットーに沿って、誰でもリポジトリを作れるように、JenkinsプロジェクトではIRC上のボットを利用しています。

  • プラグイン開発者はIRCチャンネル #jenkinsにたむろしています。これに参加してください。常駐する必要はありませんが、英語が苦でないならば、常駐していると楽しいと思います。コミュニティに参加する取っ掛かりがより増えます。
  • IRCに参加したら、ニックネームを登録してください。これが認証に使われます。
  • #jenkinsチャンネルで、「I'm a plugin committer and I'd like to have voice to be able to talk to jenkis-admin」とか何とか言って、「ボイス」フラグをもらってください。kohsukeがいればkohsuke宛に送ってもらえればすぐやります。
  • ボイスフラグがつくと、jenkins-adminボットに命令が出来るようになります。コマンド一覧を参照してください。このボット経由で既存のリポジトリをjenkinsci上にフォークしたり、新規のリポジトリを作成できます。


以上で完成です。


ボットを使っている理由は、リポジトリに対する操作がみんなに見えるようにすることでabuseを避けるためなのですが、よく考えると、OAuthかなんかでGitHubと認証すればウェブアプリとしてもできそうですよね。「誰かがあれこれこういう操作をしているよ」という記録がリアルタイムにIRCに送られれば透明性も確保できそうだし。時間があれば書いてみたい気がします。