ゞェンキンスの䜜成者である川口幞介氏ずの玠晎らしいむンタビュヌ

Jenkinsを䜿甚しおいたすか 最も可胜性が高いのは、これがこのクラスのこれたでで最も人気のあるプロゞェクトだからです。 私は垞に開発者の䞀人ず話をしお、いく぀かの難しい質問をするこずに興味がありたした。 ここには、開発者だけでなく、ゞェンキンス自身の䜜成者である川口耕介がいたす。







ご存じのように、JenkinsはMITラむセンスを持぀オヌプン゜ヌスプロゞェクトです。 ごく最近、FOSDEM䌚議が開催されたした-フリヌ゜フトりェアに捧げられた䞖界最倧の䌚議です。 無料でオヌプン、䞖界䞭の䜕十人ものスピヌカヌがいたす。 これは、Jenkinsの䜜成者であっおも、そこで誰ずでも䌚えるこずを意味したす。 JUG.ruグルヌプの友人や同僚の小さなグルヌプず䞀緒に、私たちはそこに突然䞊陞し、ゞェンキンスの䜜成者ずの良いむンタビュヌを蚘録するこずができたした。







そのため、圓瀟の仮想スタゞオであるKoske Kawaguchi 自己玹介ず以䞋ですべおを詳现に説明したす、JUG.ruグルヌプのRuslan Akhmetzyanov ARG89 、およびCIANの Kirill Tolkachev tolkkv 私たちの垞任スピヌカヌ、グルGroovy、Gradle、Spring、Netflixテクノロゞヌスタックデブリヌフィングポッドキャストから知るこずができたす。













ルスランこんにちは。 たず、あなた自身ずゞェンキンスに぀いお少し教えおください。







Kosuke私の名前はKoskeです。䞻にJenkinsの䜜成者およびCloudBeesのCTOずしお知られおいたす。 Jenkinsは、開発者が゜フトりェア配信プロセスのさたざたな段階を自動化するツヌルです。 私は個人的に、ゞェンキンスを䜿甚しおいるロシアのプログラマヌを䜕人か知っおいたす。他の人に䌚えおうれしいです。







キリル私も自己玹介をしたす-私は開発者であり、モスクワゞェンキンス゚リアミヌトアップJAMを開催しおいたす。 私はJenkins、特にScripted / Declarative Pipelineを䜿甚した経隓が豊富です。 Jenkinsを開発しおいる䌚瀟のCTOが䜕をしおいるのか教えおください。







Koske私のチヌムの仕事の1぀は、コミュニティずやり取りするこずです。 圓瀟の成功は、オヌプン゜ヌスプロゞェクトの成功に倧きく䟝存しおいたす。 もう1぀の重芁なタスクは、オヌプン゜ヌスがどのように機胜するかを瀟内の人々に教育するこずです。 䞀般に、䌚瀟ずコミュニティの間には非垞に興味深い関係がありたす。誰もがお互いから䜕かを孊び、この盞互䜜甚に倚くの泚意を払っおいたす。







たた、テクニカルディレクタヌが実行する機胜を尋ねたした。 事実は、䌚瀟が成長するに぀れおこの機胜が進化したずいうこずです。 最初は、私はリヌドプログラマのようなもので、倚くの技術的な仕事をしたした。 しかし、䌚瀟が発展するに぀れお、他の人々が埐々にこの仕事を始めたした。 たずえば、別のチヌムがPipelineの凊理を開始したした。 圌らが䜕をしおいるのかを知るために定期的に連絡を取り、時にはアドバむスをしたす。 しかし、圌らは蚭蚈ず開発に関連するすべおの決定を自分で行いたす。 䞀般に、私の圹割のこの進化は非垞に興味深いものであり、私は垞に適応しなければなりたせん。







キリル私があなたを正しく理解しおいれば、あなたの焊点は技術的な問題からコミュニティずの共同䜜業に倉わりたしたか







Kosukeはい、私がしおいるこずの倚くはこれに関連しおいたす。 䌚瀟の創始者だけが蚀えるこずはありたす。 したがっお、私の掻動の䞀郚は、比范的蚀えば、旗を振っお、コヌスの倉曎が必芁なずきに特定の方向にコミュニティを奚励するこずです。たずえば、昚幎のように。 さらに、私たちずチヌムはゞェンキンスのプロパガンダに取り組んでいたす。私たちは私たちの目暙が䜕であり、私たちが克服しようずしおいる困難を説明しおいたす。 さらに、䞀般的な状況に぀いおプレれンテヌションを行う必芁がある堎合、私は自信を深めたす。 これが私の掻動の抂芁です。







キリルそしお、䜕幎前に技術的な仕事から組織的な仕事ぞの移行が始たったのですか Jenkinsのストヌリヌず、プロゞェクトの成長に䌎っおあなたの圹割がどのように倉わったかを教えおください。







Kosukeこのプロゞェクトは2004幎に登堎し、最初は倕方ず週末に仕事をしたした。぀たり、䞀皮の趣味でした。 しかし、プロゞェクトは埐々に成長したした。 他の人が自分のアプリケヌションを䜜成できるこのプラットフォヌムを䜜成するのにかなりの時間を費やしたした。 やがお、゚コシステムず開発者のコ​​ミュニティが出珟したした。その䞀郚はロシアからのものでした。たずえば、ゞェンキンスの䞊に非垞に興味深いサブシステムを曞いたオレグ・ネナシェフTwitter @oleg_nenashev です。 プロゞェクトの人気が高たるに぀れお、ナヌザヌずのより良い察話ずトレヌニングの必芁性がより深刻になりたした。 したがっお、私はこれらのこずをもっず始めたした。 最埌に、2010幎ごろ、ゞェンキンスは非垞に人気を博したので、私はすべおの時間を圌に捧げお䌚瀟を蚭立するこずにしたした。 この瞬間から、䌚瀟の組織に関する䜜業がコミュニティずの䜜業に远加されたした。 䌚瀟は成長しおいたので、私は自分自身に質問を始めたした-私以倖の誰も実行できない掻動は䜕ですか 䌚瀟にもコミュニティにも、远加の責任を匕き受けお喜んでいる有胜な人がたくさんいたす。 埐々に、圌らは私が自分自身でしたこずの倚くをし始めたした。 抂しお、私たちの道は次のように芋えたした。







キリルありがずう。 今日、ゞェンキンスは最も人気のあるCIシステムです。 そしお、Jenkinsの商甚バヌゞョンは、他の商甚CIシステムず比范しおどれくらい䞀般的ですか たずえば、Travis Enterpriseを䜿甚するのか、ロヌカルで動䜜するシステムを䜿甚するのですか







Kosukeオヌプン゜ヌスのJenkinsは倧きなプロゞェクトであり、倚くのナヌザヌがいたす。 CloudBeesのスケヌルははるかに小さくなっおいたす。 したがっお、Jenkinsナヌザヌベヌスの1でもCloudBeesナヌザヌに倉換できた堎合、これは非垞に倧きな結果になりたす。 オヌプン゜ヌス補品に基づくすべおの䌁業は、この原則に基づいおいたす。 もう1぀の重芁な質問は、圓瀟の補品が解決すべき問題を抱える人々をどの皋床支揎できるかです。 テクニカルサポヌトの有効性を蚈算し、統蚈を正しく芚えおいれば、䞀般に、サヌビスはそれらを満たしたす。







キリル有料版を䜿っおいる人のこずですか たたは、無料の人もいたすか







Kosuke䞡方。 ぀たり、補品を賌入するずサポヌトが提䟛されたすが、独自の゜フトりェアを䜿甚せずに入手するこずもできたす。







キリル぀たり、あなたは開発者ずナヌザヌ、オヌプン゜ヌスずコマヌシャルの間の仲介者ずしお行動しおいたす。 補品ビゞョンのタスクも持っおいるこずを正しく理解しおいたすか







Kosukeこれは完党に真実ではありたせん。別の補品チヌムがありたす。 私はナヌザヌの代衚ではありたせんが、私は垞に倚くの人々、ナヌザヌずのミヌティングを行っおいたす。぀たり、私はコミュニティず連絡を取り合っおいたす。 たずえば、䌚瀟の他の埓業員甚の「Summary with advanced」列がありたす。 これらの投皿で、私たちのナヌザヌが゜フトりェアを曞く方法ず、それがゞェンキンスにずっお䜕を意味するかに぀いお話したす。 だから、補品チヌムが䞋す決定に圱響を䞎えようずしおいたす。







キリルあなたは䌚瀟で重芁な圹割を果たしおいるようです。 さらに個人的な問題に移りたしょう。 朝から倜たで話すこずができるお気に入りのJenkins機胜は䜕ですか







Kosukeたあ、朝から晩たで話すのは難しいでしょう。 私は今、組織がどのように機胜するかにもっず興味を持っおいたす-これは私の機胜のためだず思いたす。 私が䞀人で働いおいたずき、私の泚意は個々の機胜にずっず集䞭しおいたした。 今はそうは思わないので、あなたの質問に答えるのは難しいです。







キリルそれから、おそらく、䜕幎も前に実装された機胜のうち、非垞に誇りに思っおいるものを芚えおいたすか







Kosuke私たちが取り組んだ最近の重芁な機胜の1぀に぀いお話すこずができたす-それはナヌザヌにずっおより興味深いものになるず思いたす。 これは昚幎のJenkins Configuration as Codeのプロゞェクトです。 ナヌザヌがGUIでマりスをクリックするだけでJenkinsを管理するこずから、g​​itリポゞトリの構成ファむルを䜿甚しお構成するように埐々に移行しおいるこずがわかりたした。 Configuration as Codeプロゞェクトの必芁性は長い間感じられ、倚くの䞀時的な束葉杖がこの機胜を実行するために曞かれたした。 しかし、これらの取り組みはどれも十分なものではありたせんでした。 最埌に、この新しいプロゞェクトに興味を持ったコミュニティの人々を集め、かなり倧きく思慮深いツヌルを䜜成したした。 このプロゞェクトの倚くの偎面は非垞によく刀明し、非垞に幅広い人気を埗たしたが、それは喜ばしいこずです。







別のプロゞェクト、Jenkins Xを思い出すこずができたす。これは、たったく異なる方向ぞの進化です。 Kubernetesずの連携専甚に䜜成されたした。 この専門化のおかげで、スムヌズな統合を実珟し、統合ず継続的な配信プロセスの接続によっお生じる耇雑さを隠すこずができたす。 その結果、私たちの意芋では、最高のプラクティスを簡単に実装できたす。 このプロゞェクトのおかげで、Jenkinsは非垞に暙準的なアクションを実行し、すべおの機胜が必芁な構成に倚くの時間を費やしたくない倚くの人々に利甚可胜になるず思いたす。







Ruslan Jenkinsを曞くずきにJenkinsを䜿甚しおいたすか







Kosukeはい、Jenkinsプロゞェクトには独自のJenkinsがありたす。 実際、各プラグむンずコアでプルリクレビュヌを実行する倧きなむンスタンスがありたす。 さらに、セキュリティ機胜の開発は独立した独自のリポゞトリで行われるため、セキュリティず脆匱性に関連する特に重芁な䜜業のコピヌがありたす。 最埌に、キヌの眲名やリリヌスに関連するものなど、さらに重芁なタスクのための3番目のむンスタンスがありたす。 これら3぀に加えお、24時間䜓制で別のコピヌが私の家で機胜したす。







キリルゞェンキンスXに぀いおお話したした。ゞェンキンス自䜓はスむスのナむフのようなもので、プラグむンがあれば䜕でもできたす。 しかし、ゞェンキンスXは、それどころか、高床に専門化されおおり、Pipelineに存圚し、Kubernetesず連携しおいたす。 あなたずあなたの䌚瀟は、どのような技術戊略を遵守しおいたすか JenkinsずJenkins Xのみをサポヌトしおいたすか たたは、これに加えお、Mesosクラスタヌ甚のJenkins XX、Cloud Foundry甚のJenkins XXXなどがありたすか







Kosukeコミュニティの反応に倧きく䟝存するず思いたす。 普遍的なプラットフォヌムを持぀こずは確かに非垞に重芁です。 問題は、誰がこの柔軟性を正確に実装するかです。 珟圚、ナヌザヌは通垞、盎接アクセスできたす。 これは、倧䌁業で䜕か異垞なこずをしおいる堎合に䟿利です。 しかし同時に、そのような柔軟性を必芁ずしない倚くの人々を知っおいたす。 あなたがダむニングルヌムに来お、サンドむッチを䜜るように頌んだず想像しおください。 7皮類のパン、5皮類のバタヌ、4皮類のチヌズから遞択できたす。すべおの材料を決める必芁がありたす。 しかし、あなたはこのすべおの遞択を必芁ずせず、ただおいしいサンドむッチを必芁ずし、それを正しくする方法を芋぀けたくありたせん。 倚くの人々がゞェンキンスに察しおこのような態床を持ち、すべおの柔軟性が私たちの偎に残るこずを望んでいるこずを知っおいたす。 Jenkins Xは、この方向ぞの最初の重倧なステップです。 このプロゞェクトが匕き続き成功する堎合は、ファヌムりェアずIoT、モバむルプラットフォヌム、たたは機械孊習で同様のこずを詊しおみたいず思いたす。 倚くの垂盎垂堎では、補品を迅速に生産できるツヌルが必芁なだけだず思いたす。 あなたはロシアから来たので、JetBrainsに぀いお知っおいる可胜性が高いですか







キリルもちろん。







Kosuke圌らは同様の戊略に埓っおいるず思いたす。 これらは非垞に柔軟な基盀を備えおおり、その䞊にさらに倚くの特別なアドオンがあり、本質的に同じ芁玠が異なる方法で組み立おられたす。 ナヌザヌはこれに感謝しおおり、私は圌らのアプロヌチが本圓に奜きです。







キリル長幎、私は倚くのコミュニティで同じ写真を芳察しおきたしたが、1぀たたは別のプラグむンを䜿甚するようアドバむスするず、 https//plugins.jenkins.ioが私を倧いに助けおくれたす。承認されたすべおのプラグむンがありたす。 問題は、人々がすべおのケヌスで1぀の汎甚ツヌルを䜿甚しようずしおいるこずです。これは特定のケヌスには適さないこずがよくありたす。 したがっお、今では通垞、パむプラむンずいう1぀のツヌルのみをお勧めしたす。これは、あらゆる状況に適した理想的なツヌルです。 しかし、新しい問題が発生したす。 人々は、内郚での配眮方法を理解せずに、スクリプトパむプラむンたたは宣蚀型パむプラむンを䜿甚しようずしたす。 むンフラストラクチャに問題がありたす。ノヌド間の通信の確立、デヌタの共有、゚ヌゞェントずマスタヌ間に異垞なトラフィックが発生する、たたはマスタヌのスケヌリングに関する問題がありたす。 Jenkins Xのように、問題を解決する唯䞀の正しい方法を瀺すツヌルは、あなたの芳点からはどちらが優れおいたすか たたは、Scripted Pipelineのような、あなたが䜕を念頭に眮いおいたのかを尋ねるツヌルですか







suke介あなたを正しく理解しおいるかどうかはわかりたせんが、答えようずしたす。 日本語には「カタ」ずいう蚀葉がありたすが、正確に翻蚳する方法がわかりたせん。 特に柔道で䜿甚されたす。 生埒が孊ぶ厳密に定矩された動きに぀いお話したす。たずえば、特定の打撃をそらすために特定の方法で手を䞊げるこずです。 私はこれを少しやったので、最も単玔なものを知っおいたす。 課題は、䞀連の単玔な動き、ある皮のパタヌン、たたはベストプラクティスを蚘憶するこずです。 しかし、これはほんの始たりに過ぎたせん。 このベヌスを知っおいれば、基本的な動き自䜓に違反するこずなく、状況がそれを必芁ずする堎合、それを正しく残すこずができたす。 あなたはあなた自身のスペヌス、あなたの領土を勉匷したすが、同時に、共通の基盀を知っおいるこずはずにかくあなたを助けたす。 あなたが圌女を知らない堎合、あなたはい぀も自分自身に尋ねたす-私は正しいこずをやっおいたすか あなたが曞いたものが機胜しおいおも、あなたはただ疑問を抱いおいるでしょう。







䞀般的に、あなたの質問はカタを思い出させたした。 ゞェンキンスに぀いおも同様の状況があるず思いたす。 Jenkins Xがベヌスを提䟛したす。さらに深く理解し始めたら、必芁に応じおプラグむンなどの助けを借りおそのたたにしおおくこずができたす。 もちろん、Jenkins XはKubernetesでより良い䜓隓を提䟛するために柔軟性を犠牲にしなければなりたせん。 しかし、ゞェンキンスXがベストプラクティスに向かっおあなたを抌し進めおいるずいう事実は、あなたが遞択肢を奪われおいるずいう意味ではありたせん。 抂しお、これはどの゜フトりェアに関しおも圓おはたりたす。 Jenkins Xでは、考え方に重芁な倉化があっただけです。 以前は、システムの重芁な芁玠であるプラットフォヌムずプラグむンのみを䜜成したした。それらを組み立おるのは、ナヌザヌ次第です。 Jenkins Xでは、コミュニティは新しいアプロヌチに移行したした。私の意芋では、これは非垞に重芁なステップです。







キリル気にしない堎合は、さらに2぀の質問がありたす。 昚幎、どの機胜が最も苊劎したしたか 各プロゞェクトには困難な期間がありたす-あなたの堎所でどのように芋えたか教えおください。







Kosuke私たちは人生を䜕床も真剣に台無しにしおきたした。 問題は、ゞェンキンスが成長するに぀れお、ゞェンキンスの穎を探し始めた他の䌁業ずそのセキュリティチヌムから、私たちのプロゞェクトがたすたす泚目を集め始めたこずです。 そのため、倖郚から寄せられる脆匱性レポヌトの数は指数関数的に増加し始めたした。 特に、これらのリク゚ストの䞀郚に期限があり、脆匱性をクロヌズする必芁があるず思われる堎合、これから少し怖くなるこずがありたした。 これは、コミュニティによっお䜜成された機胜に関しおは特に困難でした。 たた、脆匱性が修正されたアップデヌトをむンストヌルするず、ナヌザヌが混乱するこずがありたす。 そうしないず、ナヌザヌがセキュリティ曎新プログラムをむンストヌルするこずを恐れるので、これは非垞に望たしくないためです。







キリルどの機胜をリリヌスに含めるかを決定する運営機関がありたすか そのような決定がどのように行われ、ナヌザヌがリリヌスにいく぀かの機胜を含めるように求めるこずができたすか 可胜であれば、CouldBeesたたはオヌプン゜ヌスのJenkinsのナヌザヌを優先するのは誰ですか 最埌に、可胜であれば、今埌6か月から1幎の蚈画に぀いお教えおください。







Koskeここで興味深い点がありたす。CloudBeesはJenkinsを所有しおいたせん。これらは2぀の別個のプロゞェクトであり、それぞれ独自の意思決定構造を持っおいたす。 CloudBeesは単にJenkinsの最倧の貢献者であり、倚くのCloudBeesが同時にコミュニティで働いおいたす。 過去数幎にわたっお、私たちはゞェンキンスでより明確な制埡構造を䜜成しようずしおきたした。 この目的のために、 Jenkins Enhancement Processを䜜成したした...







キリル䞭断しお申し蚳ありたせん-Javaのように、JEPず略されたすか







Kosukeもちろんです。 明らかに、私たちはこの抂念を発明したせんでしたが、Python、Java、および他のいく぀かのコミュニティからそれを借甚したした。 ここでの䞻なアむデアは、機胜に関する䞻芁な䜜業を開始する前に、コミュニティが意芋を衚明しおコンセンサスに到達できるようにするこずです。 これは、CloudBeesが新しい機胜を䜜成するずきにたさに行うこずなので、受け取った応答に応じおコヌスを倉曎する機䌚がありたす。 これは、䜜業で実装できた蚈画芁玠です。 私たちはオヌプン゜ヌスプロゞェクトであるため、他のプロゞェクト参加者に䜕をすべきかを盎接䌝えるこずはできたせん。 時々圌らは私たちの声を聞きたすが、時々聞きたせん。







次の6か月の蚈画に぀いおは、次のような珟圚の取り組みの倚くに匕き続き取り組みたす。 JenkinsX。CloudBeesの䞀郚の埓業員ず倚くのサヌドパヌティの貢献者がそれに取り組んでいたす。 Configuration as Codeがプラグむン開発者の間でより䞀般的になるこずを願っおいたす。 抂しお、その基瀎はすでに䜜成されおいるので、このシステムを介しお正しく接続できるように、いく぀かのプラグむンを構成する必芁がありたす。 最埌に、新しいJEPが発生した堎合は、それらに取り組みたす。







キリルさお、JEPが特蚱を取埗しおいないこずを期埅したしょう:)質問は、Jenkinsの著者であるあなたです-そのアむデアはScripted Pipelineでしたか







Kosukeこれは興味深い質問です。 事実、コミュニティの倚くのむニシアチブは、しばしばクリティカルマスに達せず、実隓レベルのたたです。 Pipelineの䜜業を開始する前に、同じ空間で人々はすでに䌌たようなこずをしようずしおいたので、これらの詊みに慣れる機䌚がありたした。 したがっお、私たちは実際、パむプラむンの発明者ではありたせんでした。 これらの前任者の1぀はBuild Flowプラグむンで、CloudBeesの埓業員の1人が䌚瀟に入瀟する前に䜜成したした。 「゚コシステム」ずいう甚語は非垞に成功しおいるず思いたす。実際の゚コシステムのようにすべおが実際に起こりたす。誰かが䜜成したテクノロゞヌは垞に進化し倉化しおいたす。







Ruslan Scripted Pipelineの実装に圱響を䞎えたしたか







Kosukeはい、元のバヌゞョンでは。







キリル知っおいるように、DSLを実装するには、静的ず動的の2぀の方法がありたす。 スクリプトパむプラむンに動的なアプロヌチが遞択されたのはなぜですか







Kosuke静的なアプロヌチず動的なアプロヌチがあなたが䜕を意味するのか、私にはよくわかりたせん。







キリル静的DSLを䜿甚するず、実行前のコヌドにある皋床の自信がありたす。 たずえば、JavaのDSLを䜿甚する堎合、すべおのAPIずむンタヌフェヌスを事前に知る必芁がありたす。 動的なアプロヌチにより、実行時に怜蚌を盎接実行したす。 コヌドが無効であっおも、マシンはそれを実行しようずしたすが、必芁であれば゚ラヌをスロヌするだけです。 パむプラむンの宣蚀バヌゞョンでは、ビルドスクリプトのバリ゚ヌションを絞り蟌むこずで倚くの゚ラヌを排陀できたす。







Kosuke正盎に蚀うず、コンパむルがい぀行われるかは正確には重芁ではありたせん。 ただし、スクリプトパむプラむンを蚭蚈するずきに埓った䞀般的な蚭定に぀いおは説明できたす。 ある段階では、かなりの数のJenkinsナヌザヌが自動化の耇雑さによっお倧きく劚げられおいたした。 倚くのコンポヌネントの正しい盞互䜜甚を保蚌する必芁がありたした。 コヌドがコンパむルされ、テストが実行された埌、展開が確認されるたで埅機する必芁がありたす。 たた、すでにこのプロセスをコヌドの圢で蚘述したいずいう芁望がありたした-ほが圓時、コヌドが非垞に人気があったためむンフラストラクチャでした。 開発者は、誰もがプロゞェクト管理システムのファむルを䜿甚しお管理できるこずを望んでいたした。 これら2぀のニヌズのうち、Scripted Pipelineが生たれたした。 ただし、その䜿甚には重芁な知識が必芁であり、盎芳的ではなかったため、耇雑なオヌケストレヌションを実装するためにスクリプトパむプラむンを䜿甚するこずを䜙儀なくされた人だけでなく、誰もがPipelineにアクセスできるようにしたいず考えたした。 倚くは、チュヌリングの完党性ではなく、明快さ、利䟿性、アクセシビリティを必芁ずしおいたした。 これが、宣蚀的パむプラむンの始たりです。







Kirill今日、たずJenkinsプラグむンがありたす。これには通垞、アノテヌションずメタプログラミングを備えた静的APIがありたす。 次に、远加のDSLをアナりンスするScripted Pipelineプラグむンがありたす。 宣蚀的パむプラむンはほが同じこずを行いたすが、柔軟性が䜎くなりたす。 保守が簡単なもの-Pipelineたたは通垞のJenkins甚のプラグむン ぀たり、ゞェンキンスからです。







Kosuke 2぀の異なる蚀語に぀いお話しおいるずいう考えを持ちたくありたせん。 これたでのずころ、Pipelineの蚀語を芋぀けるこずができなかったようです。Pipelineは、単玔なタスクには䟿利であるが、新しいナヌザヌにはアクセスできたすが、柔軟性に優れおいたす。 ゞェンキンスが垞に立っおいたフリヌスタむルゞョブは、もずもず非垞にうたく蚭蚈されおいたした。 耇雑な操䜜を行う必芁がある堎合は、プラグむンを䜜成し、Freestyle Jobでこれらのプラグむン間のスペヌスを埋めるこずができたす。 それはバヌのようなもので、チョコレヌトにナッツを泚ぐこずで埗られたす。 Pipelineでは、同様の゜リュヌションを適甚する必芁があるず思いたす。 私たちはすでにこの方向で䜕かをしおいる-䟋えば、共有ラむブラリ機胜。 それでも、この分野でやるべきこずがただたくさんあるこずは明らかです。 これに぀いおは、補品チヌムず開発者ず長い間話し合っおきたした。 私が圌らに圱響を䞎えるこずができたこずを願っおいたす。







キリル私の最埌の質問は、ゞェンキンスのラむフサむクルに぀いおです。 このプロゞェクトの重芁なマむルストヌンはJenkins 2のリリヌスでした。その䞭の倚くの機胜ずAPIには脆匱性がありたした。 Jenkinsずそのプラグむンの゜ヌスコヌドを芋るず、非垞に耇雑なアヌキテクチャがあり、かなりの数の問題がありたす。その人自身がプロゞェクトの歎史の䞀郚ではなかった堎合、それを芋぀けるのは非垞に困難です。 あなたの芳点から、これが必芁な堎合、以前のバヌゞョンず以前のアヌキテクチャ゜リュヌションずの互換性が損なわれる可胜性はありたすか







Kosukeこのプロゞェクトでは、進化し続けるこずが重芁です。 実際、あなたが成長するに぀れお、特定の技術的負債が蓄積されたす。 しかし、ゞェンキンスの耇雑さに぀いおのあなたの評䟡には同意できたせん。 これは玄800人が䜜成したプロゞェクトで、1,600のプラグむンがありたす。これを念頭に眮いお、非垞にアクセスしやすいず思いたす。 状況は、あなたが説明するほど重倧ではありたせん。 それでも、開発は本圓に必芁です。 昚幎、私は比Shift的に蚀っお旗を振っお、セキュリティの堎合を陀いお、埌方互換性の厳栌な順守を含む、ナヌザヌによるレビュヌの初期玄束のいく぀かを促す「シフトギア」ずいうタむトルの投皿を曞きたした。 このトピックがただコミュニティで議論されるこずを願っおいたすが、今のずころあたり倚くは聞かれおいたせん。







Ruslan埌方互換性ポリシヌは、Javaが準拠しおいるものず䌌おいたすか 結局、15幎、さらには20幎前のバヌゞョンずの䞋䜍互換性がありたす。 たたは、Python 2ずPython 3の状況に䌌たものがありたすが、これらはただ互いに機胜したせんか 重芁な機胜を実装するために埌方互換性を砎る準備はできおいたすか







Koske正盎なずころ、JavaずPythonのどちらで互換性を芳察するかずいう問題を提起するのは正しいずは思いたせん。 ナヌザヌが必芁ずする゜フトりェアの皮類に぀いお考える必芁がありたす。 重倧な問題の1぀は、Jenkinsのプラグむンが互いに独立しお䜜成され、それらを連携させるのが䞍圓に難しいこずです。 この問題を解決する際にナヌザヌむンスタンスを壊した堎合、そのような゜リュヌションは必芁ありたせん。 そしお、結果ずしおより良く、より速く動䜜するシステムが埗られれば、互換性違反が正圓化されるかもしれたせん。 この点に関しおは、蚀語開発者よりも柔軟性があるず思いたす。互換性を厳しく守るずは玄束しおいたせん。 Jenkins Xなどの新しいバヌゞョンを䜜成するこずを考えおいたす。最終結果が盎接互換性の芁件を満たしおいる限り、この問題に぀いおはもう考えたせん。







Ruslan玠晎らしい、答えおくれおありがずう







Koskeは、4月5〜6日に開催されるJPointカンファレンスでJenkinsに登堎するSuperpowersに関するプレれンテヌションを行いたす 。 さらに、報告埌にディスカッション゚リアで圌ずチャットするこずもできたす。 JPointの詳现ずチケットの賌入に぀いおは、䌚議の公匏Webサむトで確認できたす 3月1日にチケットの䟡栌が䞊昇するこずを忘れないでください。



All Articles