はじめに

こんにちは株式会社TIELECのタカシユウトです。 この記事ではJenkinsのパイプラインとは何かについて紹介します。 初めてJenkinsのパイプラインを使う人の理解に役立つのではないかと思います。

Jenkins Pipelineとは

Pipelineは様々な処理をワークフローとして定義し、一連の流れをわかりやすくすることができるJenkinsのJobです。もともとはプラグイン (workflow-aggregator) として開発されていたものですが、Jenkins 2.0から標準サポートされるようになりました。

Jenkins Pipelineは実は2種類の書き方が存在しています。

  1. Scripted Pipeline
  2. Declarative Pipeline

この2つの違いについての説明をいたします。

Scripted Pipeline

Scripted Pipeline はGroovyの文法を利用して作成するパイプラインです。 変数や関数の定義などが自由に行えるため、柔軟な表現ができます。 しかし、Groovyの知識を必要とするためやや複雑でした。

Declarative Pipeline

Declarative PipelineではScripted PipelineほどGroovyの知識を必要とせずシンプルに、より分かりやすくワークフローを定義することが可能です。また、必要に応じてScripted Pipelineの柔軟な表現も行えるため、両者のメリットを共に享受することができる構文となっています。

現在ではDeclarative Pipeline推奨の記法になっています。

Jenkins Pipelineに関する情報を探す際に、昔に書かれたものはScripted Pipelineでの記法で書かれている場合があるので注意してください。

簡単な見分け方

見分け方は簡単です。

nodeのブロックから始まるものはScripted Pipeline

pipelineのブロックから始まるものはDeclarative Pipeline

これだけです。

Declarative Pipeline を書くときってGroovyの知識はなくてもいいの?

Groovyの知識がなくてもある程度Pipelineを書くことはできます。

しかし、Pipelineに慣れていってより高度な設計をしたいと思ったときには、Groovyの知識があるとやれることの幅が格段に広がります。

例)

など。こういったことをやりたいと思ったときにはやはりGroovyの知識があるとやりやすいです。

※ Groovyのリファレンスはこちらをご覧ください。

まとめ

関連ページ

おすすめ書籍

[📦 商品リンク: moshimo-book-jenkins-jissen]

[📦 商品リンク: moshimo-book-jenkins-blue]

[📦 商品リンク: moshimo-book-server-infra]

もっと深く学びたい方へ

この記事で、Pipelineの概念は理解できたと思います。

でも、「どういうワークフローを設計すべきか」「ステージをどう分割するか」という実践的な判断は、プロジェクトの特性や開発フローによって変わります。

より深い理解のために、こちらの記事もおすすめです:

/ja/tech/ai-development/optimal-verification-cycle-ai-driven-development/

/ja/tech/product/introduction-to-adr/