Jenkinsのジョブとパイプラインのテスト


10

現在、ビルド、テスト、デプロイ、その他の自動化されたアクティビティのためのJenkinsジョブとパイプラインがかなりあります。

新しいジョブを変更または追加するたびに、手動でのみテストします。たとえば、「ハッピーパス」を通過し(ジョブがエラーなしで完了した場合)、ジョブまたはパイプラインが失敗したときにいくつかの否定的なテストケースをテストします。エラーコードと通知。

このアプローチは明らかに信頼性が低く、適切に拡張できません。このプロセスをどのように改善できますか?Jenkinsのジョブとパイプラインがどのように機能するかを確認する場合、テストを自動化する場所はありますか?


5
高レベルの開発にようこそ-誰がテストをテストしますか?サンドボックス環境から始めて、一般的なシステム設定を複製し、それを進化させて、Configuration as Codeアプローチを完成させることができると思います。これには、コードで保守されるジョブ構成が含まれます。
Peter Muryshkin 2017

回答:


10

これをここに投稿しているのは、これらの解決策を支持しているからではなく(実際、私はそれらを試したことがない)、それらがあなたの質問に対する潜在的な答えであるためです。

まずは、パイプラインスクリプトの単体テストフレームワークであるJenkinsPipelineUnitを使用します。

一時的なヘッドレスJenkinsインスタンスでJenkinsfileを実行するjenkinsfile-runnerというプロジェクトもあります。おそらく、これはJenkinsfilesとPipeline共有ライブラリの統合テストに使用できます。ただし、2018年夏の時点では、統合テストにこのツールを使用する方法に関するドキュメントはなく、このツールを「実際に」使用している人の例を見つけることができませんでした。

Jenkins JIRAの関連するバグレポート「Jenkinsfileのテストフレームワーク」も参照してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.