267

jenkins パイプラインを作成する場合、新しい変更をコミットするたびに、それが機能するかどうかを確認するのは非常に不便です。

コードをコミットせずにこれらをローカルで実行する方法はありますか?

4

15 に答える 15

174

パイプライン スクリプトをローカルで実行することはできません。これは、Jenkins をスクリプト化することが目的であるためです。(これが、短くして、実際に Jenkins 機能を処理するコードに限定することが最善である理由の 1 つです。実際のビルド ロジックは、1 行または1 ステップJenkinsfileで呼び出す外部プロセスまたはビルド ツールで処理する必要があります。)shbat

Jenkinsfileライブへの変更をテストしたいが、それをコミットしない場合は、1.14 で追加されリプレイ機能を使用します。

JENKINS-33925は、自動テスト フレームワークの必要性を追跡します。

于 2016-03-31T11:16:37.603 に答える
18

執筆時点(2017 年 7 月末)では、Blue Oceanプラグインを使用して、宣言型パイプラインの構文をビジュアル パイプライン エディターで直接確認できます。エディターは、 github プロジェクトに対してのみ「構成」をクリックすると、ブルー オーシャン UI から動作します(これは既知の問題であり、git などでも動作するように取り組んでいます)。

ただし、この質問で説明されているように、以下を参照してエディターを開くことができます。

[Jenkins URL]/blue/organizations/jenkins/pipeline-editor/

次に、ページの中央をクリックして を押しますCtrl+S。これにより、パイプライン宣言スクリプトを貼り付けることができるテキスト領域が開きます。Updateをクリックすると、構文エラーがある場合、エディターは構文エラーの場所を知らせます。このスクリーンショットのように:

簡単なテストとして、私は間違って入力しました

構文エラーがない場合、テキストエリアは閉じられ、ページはパイプラインを視覚化します。何も保存されないことを心配しないでください (github プロジェクトの場合、Jenkinsfile の変更がコミットされます)。

私はJenkinsを初めて使用しますが、これは非常に役立ちます。これがないと、動作するまでJenkinsfileを何度もコミットする必要がありました(非常に面倒です!)。お役に立てれば。乾杯。

于 2017-07-26T15:00:19.770 に答える
8

パーティーには少し遅れましたが、それが私が書いた理由jennyであり、いくつかのコア Jenkinsfile ステップの小さな再実装です。( https://github.com/bmustiata/jenny )

于 2018-05-11T20:59:01.237 に答える
6

私が知る限り、このパイプライン プラグインは新しい Jenkinsfile メカニズムの「エンジン」であるため、これを使用してスクリプトをローカルでテストできると確信しています。

Jenkinsfile にコピーするときに追加の手順が必要かどうかはわかりませんが、構文などはまったく同じである必要があります。

編集:「エンジン」の参照を見つけました。この機能の説明、最後の段落、最初のエントリを確認してください。

于 2016-03-30T16:07:00.067 に答える
2

他の人がすでに言及したリプレイ機能 (その有用性についても同じです!) とは別に、次の機能も有用であることがわかりました。

  1. パイプライン コードを入力するか、Jenkinsfile のレポ/ブランチをポイントして、何かをすばやくテストできるテスト パイプライン ジョブを作成します。より正確なテストを行うには、本番環境に影響を与えずにすばやく変更を加えてコミットできる独自のフォークを指すマルチブランチ パイプラインを使用します。BRANCH_NAME env のようなものはマルチブランチでのみ利用可能です。
  2. Jenkinsfile は Groovy コードなので、「groovy Jenkinsfile」で呼び出すだけで基本的な構文を検証できます。
于 2017-07-21T21:17:45.817 に答える