AltWalker テスト用の Jenkins CI/CD パイプラインをセットアップする


このチュートリアルは、AltWalker テスト用に Jenkins で CI/CD パイプラインをセットアップするのに役立ちます.

目次


  • Create your first Pipeline
  • Quick Start Examples
  • Setup XML Reports
  • Using a Dockerfile
  • Examples
  • Resources

  • 最初のパイプラインを作成する



  • 以下の例のいずれかをリポジトリにコピーし、 Jenkinsfile という名前を付けます. sh コマンドを変更して、ローカル マシンで実行するのと同じコマンドを実行してみてください.

    pipeline {
        agent { 
            docker { 
                image 'altwalker/altwalker:latest'
                args '-u root:root'
            }
        }
        stages {
            stage('test') {
                steps {
                    sh 'altwalker online tests -m model/default.json "random(vertex_coverage(100))"'
                }
            }
        }
    }
    

  • Jenkins 内の New Item メニューをクリックします.
  • 新しい項目の名前 (例: My-AltWalker-Pipeline) を指定し、Multibranch Pipeline を選択します.
  • [ソースの追加] ボタンをクリックし、使用するリポジトリのタイプを選択して、詳細を入力します.
  • [保存] ボタンをクリックして、最初のパイプラインの実行を確認してください.

  • クイック スタートの例



    以下は、Python と .NET の単純なパイプラインの簡単にコピーして貼り付けられる例です.

    パイソン




    pipeline {
        agent {
            docker {
                image 'altwalker/altwalker:latest'
                args '-u root:root'
            }
        }
        stages {
            stage('test') {
                steps {
                    sh 'altwalker online tests -m models/model.json "random(vertex_coverage(100))"'
                }
            }
        }
    }
    


    。ネット




    pipeline {
        agent {
            docker {
                image 'altwalker/altwalker:latest-dotnet-3.1'
                args '-u root:root'
            }
        }
        stages {
            stage('test') {
                steps {
                    sh 'altwalker online tests --language dotnet -m models/model.json "random(vertex_coverage(100))"'
                }
            }
        }
    }
    


    AltWalker Docker イメージでサポートされているすべてのタグの詳細については、 altwalker/altwalker の docker リポジトリを確認してください.

    XML レポートの設定



    最初のパイプラインをセットアップした後:
  • XML レポートを生成するには、--report-xml または online コマンドに walk を追加します.
  • Jenkinsfile または online コマンドの後の walk 内に、次の行を追加します.

    junit 'report.xml'
    


  • Python プロジェクトの場合、Jenkinsfile は次のようになります.

    pipeline {
        agent {
            docker {
                image 'altwalker/altwalker:latest'
                args '-u root:root'
            }
        }
        stages {
            stage('test') {
                steps {
                    sh 'altwalker online tests -m models/model.json "random(vertex_coverage(100))" --report-xml'
                    junit 'report.xml'
                }
            }
        }
    }
    


    Dockerfile の使用



    よりカスタマイズされた実行環境を必要とするプロジェクトの場合、Pipeline は、ソース リポジトリの Dockerfile からのコンテナーの構築と実行もサポートします.

  • 以下の例のいずれかをリポジトリにコピーして、 Dockerfile という名前を付けます.

    FROM altwalker/altwalker:latest
    
    # Install your specific requirements 
    

  • image 'altwalker/altwalker:latest' を前の例の dockerfile true に置き換えます.

  • 「既製の」コンテナーを使用する以前のアプローチとは対照的に、エージェント { dockerfile true } 構文を使用すると、Docker Hub からイメージをプルするのではなく、Dockerfile から新しいイメージがビルドされます.

    Python プロジェクトの場合、Jenkinsfile は次のようになります.

    pipeline {
            agent { 
                docker { 
                    dockerfile true
                    args '-u root:root'
                }
            }
            stages {
                stage('test') {
                    steps {
                        sh 'altwalker online tests -m model/default.json "random(vertex_coverage(100))"'
                    }
                }
            }
        }
    


    エージェント { dockerfile true } 構文は、Pipeline Syntax セクションで詳しく説明されている他の多くのオプションをサポートしています.



    完全に機能する例については、以下をご覧ください.

    Python の場合は
  • : https://github.com/Robert-96/altwalker-jenkins-example
  • .NET の場合: https://github.com/Robert-96/altwalker-jenkins-dotnet-example

  • 資力


  • ジェンキンス:
  • https://www.jenkins.io/doc/pipeline/tour/hello-world/
  • https://www.jenkins.io/doc/book/pipeline/

  • アルトウォーカー:
  • https://altom.gitlab.io/altwalker/altwalker/
  • https://hub.docker.com/r/altwalker/altwalker/