Jenkinsパイプライン入門


Jenkinsパイプラインは、実装とJenkinsに連続配信パイプラインの統合に役立つプラグインのコレクションです.パイプラインは、パイプラインのドメイン固有の言語(DSL)を使用して“コードとして”複雑な配信パイプラインに基本的なモデリングのためのツールの拡張可能なコレクションを提供しています.
パイプラインの目的は、配管が配管を通してどのように水が流れるかに類似して、常にそれを通して流れることを可能にすることです流体と常に利用できます.目標は、ビルドに含まれる変更を展開および/またはリリースすることです.
連続配達パイプラインは、あなたのユーザーとクライアントにバージョン管理からあなたのソフトウェア配送プロセスの自動表現です.それがリリースされる前に厳しい手順を通してあなたのプログラム(ソース管理でコミットされる)へのあらゆる最新版.このプロセスは、信頼性があり反復的な方法でソフトウェアを構築することと、開発されたソフトウェア(「ビルド」と呼ばれる)を様々な段階のテストおよび展開によって進めることを含む.
Jenkinsパイプラインの仕様はしばしばテキストファイル(JenkinsFileとして知られている)に書き込まれます.そして、それはそれからプロジェクトのソース管理倉庫にチェックインされます.JenkinsFileの作成には多くの明白な利点があります.
  • すべての支店とプル要求
  • のために自動的にパイプラインを作成します
    パイプラインで
  • コードレビュー/反復
    パイプライン
  • のための
  • 監査証跡
    異なったプロジェクトメンバーによって見られることができて、変わることができるパイプラインのための
  • 単一の真実の源
  • // Declarative //
    pipeline {
        agent any 
        stages {
            stage('Build') { 
                steps { 
                    sh 'make' 
                }
        }
        stage('Test'){
            steps {
                sh 'make check'
                junit 'reports/**/*.xml' 
            }
        }
        stage('Deploy') {
            steps {
                sh 'make publish'
            }
        }
    }
    }
    
    ① Jenkinsは、エージェントが示すように、パイプラインのこのセグメントに対して実行者とワークスペースを割り当てる必要があります.
    ② このパイプラインのステージはステージで説明されています.
    ③ 手順は、この段階で実行される手順をまとめます
    ④ sh指定したシェルコマンドを実行する
    ⑤ プラグインはJUnitをパイプラインステップとして提供します.JUnitはテスト結果を収集するためのJUnitプラグインです.
    //sample
    node {
        stage('Build') {
            sh 'make'
        }
        stage('Test') {
            sh 'make check'
            junit 'reports/**/*.xml'
        }
        stage('Deploy') {
            sh 'make publish'
        }
    }
    
    リファレンス:ジェンキンスハンドブック