LoginSignup
7
1

More than 3 years have passed since last update.

Jenkins Blog ななめ読み: Participate and Contribute

Last updated at Posted at 2019-12-19

はじめに

みなさまこんにちは。
こちらはJenkins Advent Calendar 10日目の記事になります。

15年を迎えているJenkins。少し離れていますが、また新たにできることはないかなあと思いつつ、2つめで書いてまいります。

今回のななめ読み

今回は、Participate and Contributeから。
jenkins.io という公式サイトからのコンテンツで、Jenkinsにコントリビュートしてみたい方向けの窓口になっています。

今回は、MEET と Code についてさっくり触れてみます。
(なお、いくつかのコンテンツについは、Jenkins Wikiとして発信されていたサイトが移行中のため、リンク切れになっているところもあります)

MEET / ミートアップ

こちらは、Jenkinsのミートアップ、イベントについての情報が掲載されています。

イベントカレンダー

オンライン、オフライン含め、アメリカだけでなく全世界で開催されているイベント情報が掲載されています。

オンラインミートアップ

ローカルイベント

わたし自身はオンライン、オフラインどちらもミートアップ系はあまり参加できていないですし、発表も全くできるような立場ではないのですが、英語の練習も兼ねて、資料や動画は見ていきたいと思っています。

Contribute code / コートベースでのコントリビュート

つぎに、コートベースでのコントリビュートについて。

Contribute code の冒頭から。

  • Jenkinsのプロジェクトには、たくさんのコードがあります
  • コードのコントリビュータとして、あらゆる方々にプロジェクトに参画してもらってます
    • プログラミング言語であれば、Javaだけではなく, JavaScript, Groovy, Golang, Ruby, Shell scriptsなど様々な分野があります
  • また、Jenkinsには数百のプラグインがあり、そうしたプラグインは実に多様なテクノロジーと結びついています。
  • もし(OSS活動に)コントリビュートしてみたいとお考えなら、Jenkinsのプロジェクトであれば、きっと興味のある分野が見つかることでしょう

Where to contribute? / どこで自分がコントリビュートできそう?

Jenkinsのプロジェクトは多数のGitHub上のOrganizationで展開されています。
興味や関心のあるリポジトリであれば、どこからでも参加できます。

  • jenkinsci

    • Main organization. Jenkins core, plugins and libraries reside there
    • https://github.com/jenkinsci
    • メインのorganization
    • Jenkins本体やプラグイン、そして関連するライブラリを扱っています
  • jenkins-infra

  • Jenkins infrastructure, including the website and other services

    • https://github.com/jenkins-infra
    • Jenkinsの公式サイトやサービス、Jenkinsの(ビルド、リリースといった)インフラを支えています
  • stapler

  • jenkins-zh

    • organization of the Chinese Localization SIG
    • https://github.com/jenkins-zh
    • 中国語のローカライゼーションのためのリポジトリ! ロゴがすごく雰囲気があります!

上記4つのOrganizationはそれぞれのデリバリ、レビューのポリシーを持っています。詳しくはリポジトリのドキュメントを。

Plugins / プラグインを通して

Jenkinsには1500以上のプラグインがあります。多くのJenkinsのコントリビュータは、プラグインを通して関わっており、プロジェクトに参加しようとする場合は、プラグインからというのも良い方法です。
プラグインに関しては、以下のリンクをご紹介します。

Jenkins core / Jenkins本体を通して

  • こちらは文字通りJenkinsの中枢で、ほぼJavaで実装されています
  • プラグイン向けのAPIの実装もこちらで行われています

Infrastructure / Jenkinsを支えるインフラを通して

  • Jenkins自体のビルドやデリバリ、サイトの運用なども含めたJenkinsの活動のためのインフラのリソースも、OSSとして公開されています
  • Jenkinsのオープンなリソース、インフラ管理のためのコードが公開されていることにより、誰もが(Jenkinsという枠にとらわれずに)学び、コントリビュートできることを目指しています

Other components / その他のコンポーネントを通して

Newcomers / これから始めたい方へ!

  • これからはじめようとする方へ
    • いつでもはじめて参加する方を歓迎しています!
    • まずはじめに、以下のリンクやissueから取り組んでもらえるといいのでは

初めての方でも取り組みやすいIssueの一覧

初めての方向けのガイド

Experienced contributors / ベテランな方向け

  • すでにJenkinsへのコントリビュートを行っている方には、特定のトピックを扱うSIGや、セキュリティissueを扱うチームへの参加も呼び掛けられています

ななめ読みの雑感

コントリビュートは自分の好きな時間 / スタイルに合わせて

ふたたび粗く、理解が追いつかないところは流しつつ、2つのトピックについて触れてみました。
MEET (ミートアップ、イベント)に関しては、時間や場所でなかなか参加できないのですが、Contributeに関しては、自分のペースで参加できるのが良いところ。

リアルタイムでの活動には、時間がうまく取れないという方にこそ、コードやドキュメンテーション、翻訳でのコントリビューションはとても向いている、とわたしは考えています。

Jenkinsを支えるインフラもコード化 / 公開されていること

ここ10年とは言いませんが、7〜8年の間で、インフラの環境が大きく変わってきて、Jenkinsとクラウドサービス、マシンとの連携やコンテナ化、さらにはその先へ...といったところまで広がっています。

Jenkinsのコアは、java -jar jenkins.war だけで起動し最低限利用はできるのですが、正直、わたしはこの分野まで来るととても追いつけていないのが正直なところです。

ただ、今回のContributeななめ読みで触れた通り、Jenkinsを支えるインフラに関しての活動、コードも公開されています。

Because we strongly believe in Open Source principles, we also apply them to our infrastructure. As such we consider ourself as an open infrastructure project where everybody is invited to learn, share, contribute

この一文の通り、「オープンソースの原則(理念)を、わたしたちのインフラに関しても当てはめています。オープンなインフラストラクチャプロジェクトであるからこそ、誰もが参加可能で、そこから学びを得たり、知見をシェアしたり、コントリビュートができるのです」(ざっくりな訳ですみません)

インフラ上、シークレットな情報や証明書といったものは公開は難しいけれど、限りなく透明性を高くしている、とのことで、インフラ学習の面からも、こちらの活動に着目するといった切り口も良さそうですね!
(とにかくボランティアベースで、ベストエフォートでの活動なので、こちらもコントリビュート大募集ようです)

この次は?

以前読んだり、少し参加してみたサイトも移動したり作り替えの最中のようなので、ドキュメンテーションや紹介といったところから、また関われたらと思っています。

次回は上記で上がっている情報のうち、プラグインのチュートリアルや、初心者向けのIssueについて触れてみます。

7
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
1