オリジナル: Building Jenkins
Jenkinsにこれから貢献したい人へのガイド (v. 4)
はじめに
Jenkinsのことはもちろん好きなんだけど、それ以上にプロジェクトに貢献したかったりいろいろ改善することを手伝いたかったりとか思っているのかもしれない。このドキュメントでは、Jenkinsのプロジェクトについて紹介し、なにか手伝えることで興味のあるものを見付けるのに役に立ってくれると思う。
全ての貢献者へ
- Jenkinsプロジェクトに関する 素晴しい 導入になるのが、 Governance Document - このプロジェクトがどうやって構成されているか、信念とか、ゴールとか、いろいろ分かる
- IRC Channel (
#jenkins
onirc.freenode.net
) アイデアや質問とかもろもろのフィードバックがもらえるので参加してみよう - bug tracker/wiki 用の アカウントを、ここ で作ろう
- (たいてい)隔週でプロジェクトmeetingをIRCやってるので参加してみよう。詳細はこちら - Governance Meeting Agenda.
コードを書くのに興味があるかい?
概要
- GitHub のアカウントを作って、Jenkinsのリポジトリをfollowしてみよう : github.com/jenkinsci
- Create an account on GitHub and follow the Jenkins repositories that are interesting to you: github.com/jenkinsci
Java のコードはどうかな?
概要
- "問題"のある Pending Pull Requests を review したり/コメントしたり/テストしたりするのを手伝ってみよう
- javadoc.jenkins-ci.org と ci.jenkins-ci.org をブックマーク
- "良い" pull request を投げるために このガイドライン をきちんと見ておこう
core
- the main Jenkins repo on GitHub を fork して、 自分の環境でビルドしてみよう。Building Jenkins は、最初の一歩の手助けになるだろう
- "UI Enhancements" に参加してみよう。 Jenkins の UI を試してみたり、既存の実験にfeedbackしたり。 (this may or may not be a great beginner project from a code standpoint). Governance Document の this section on the subject も読んでおこう。
plugin
- 古い拡張要望やバグレポートを見てみよう - issue tracker
- Plugin tutorial を見て、自分自身のプラグインを書いてみよう
- メンテナがいないっぽいプラグインを引き取ってみる (list in JIRA)。
- 便利だと思うソフトをを自動でインストールするような、自動化ツールを書いてみよう(mongodb auto-installerみたいな)。 Adding tool auto-installer が 最初の一歩の手助けになるだろう
Ruby のコードはどうかな?
- Jenkins の Ruby プラグインサポートに従って、プラグインを開発してみよう - Getting started with Ruby plugins
- 既存の Ruby のプラグイン のソースコードを調べてみよう。 それで拡張したり目立つバグを直したりしてみよう
Puppetはどうかな?
- GitHub 上の infra-puppet を通じて、Jenkins プロジェクトのマネジメントに参加してみよう
- 既存のモジュールへの rspecd-puppet のテストなんかを書いたりして、manifests/modules のテスト自動化を手助けしよう
- Unknown User (rtyler) が書いた puppet-jenkins モジュール のバグを直したり拡張したりしてみよう
英語じゃない言葉を喋ったりするかい?
- Internationalization プロジェクトで、母国語へのローカライゼーションをやってみよう
- Translation Assistance Plugin を利用して、Jenkins上のあちこちのページをローカライズしてみよう
- 既存の翻訳を確認したり構成したりしてみよう
- (訳者勝手追加) 日本語の wikiページ を 追加/追随/修正してみよう
コードを書かない貢献もあるよ!
General
- Jenkinsについてもっと学ぼう
- Jenkinsを使おう! 素晴しいアイデアは、Jenkins を使ってる中で出てくるもの
- 使ってみて、妙に複雑だったり変だったり混乱したりするようなことがあったら、記録しておこう。 そうして、JIRA に enhancement request として登録すれば、その気になるところを修正することができるようになる
テクノロジーについて人前で話すのが好きかい?
- Jenkins についての発表を、地元のユーザーグループだったり他の勉強会だったりで発表してみよう(はじまったばかりの Jenkins CIA Program なんかもいいんじゃないかな)
- 地元のJenkins ユーザーや、未来のユーザー/開発者向けの勉強会を開催しよう
これから初める人達を手助けしよう
- mailing lists の質問に答えてあげよう
- 時間があれば、IRC Channel (#jenkins on irc.freenode.net) の質問に答えてあげよう
- Stack Overflow の Jenkinsタグの質問 に答えてあげよう
文章を書くのが好きかい?
- あたたが遭遇した、"良くある" 問題へのあなたの解決策をみんなとシェアしよう。特定の状況でその問題を解決するのに使ったプラグインについてのBlogへの投稿なんかは、とても役に立つ (Meet Jenkins のページを参考にしてみよう)
- 古くなったwiki pageを整理/追随してみよう。これは Use Jenkins からリンクを辿ってきたような、新しくやってきた人達にとっての助けになるだろう
- いろいろなテクノロジー、たとえば仮にそれをXとすると、"Jenkins + X" について話したり公開したりしてみよう。
パッケージングが好きかい?
- 自分の好みのプラットフォーム用の新しいパッケージングスクリプトを書いてみよう。既存のスクリプトのメンテナンスとかもいいね
テストが好きかい?
- JIRAを学んで トリアージを手伝ったり、既存のバグレポート を検証してみよう
- 再現手順の無いチケットは、バグの再現に必要な正確な手順や環境を明確にしてみよう。これは開発者にとって解決へのすっごい手助けになる
- 再現手順のあるチケットは、開発者がパッチを投げたら、そのバグが修正されているか検証してみよう。これもとてもとてもありがたい
- the RC channel にある次のリリース候補を試してみよう。 これ自体とても価値のあることだが、それに加えて リリースプロセス というものを知る手助けになるだろう
- LTS (Long Term Support) のリリース候補の検証/テストをしてみよう。詳細は、LTS RC Testing ページを見てみよう