web-dev-qa-db-ja.com

JenkinsパイプラインとRobot Frameworkの結果

私はパイプラインを実装し、ロボットフレームワークの結果をJenkinsパイプラインで公開する方法を見つける必要がありました。私はパイプラインへのロボットフレームワークプラグインの実装について 複数の質問 を見つけ、そして この質問 を見つけましたこれは解決策のようです。しかし、私はこのアプローチを試みましたが、結果はまだありません。

回避策や機能例はありますか?

7
Pavol Travnik

[成功した回避策を反映するように編集]

課題追跡のこのコメントは、機能しているように見える回避策を示しています

step([
    $class : 'RobotPublisher',
    outputPath : outputDirectory,
    outputFileName : "*.xml",
    disableArchiveOutput : false,
    passThreshold : 100,
    unstableThreshold: 95.0,
    otherFiles : "*.png",
])

ただし、Robot Frameworkプラグインは現在、パイプラインと完全に互換性がないようです: https://issues.jenkins-ci.org/browse/JENKINS-34469

これは、現在Jenkinsエコシステムの 多くのプラグイン と共通ですが、新しいJenkins Pipelineとの互換性を保つためにまだ更新されていません。 十分なモチベーションがあれば、完全な互換性を自分で作成できる可能性もあります

7
teakvinyl

上記の回答の使用に問題があり、エラーが発生しました。しかし、私はそれを理解してパイプラインに追加することができました。他の誰かが同じ問題に遭遇した場合に備えて、次のように修正しました。

stage('Tests') {

  steps {
    echo 'Testing...'
    script {
      step(
        [
          $class                    : 'RobotPublisher',
          outputPath                : '<insert/the/output/path>',
          outputFileName            : "*.xml",
          reportFileName            : "report.html",
          logFileName               : "log.html",
          disableArchiveOutput      : false,
          passThreshold             : 100,
          unstableThreshold         : 95.0,
          otherFiles                : "*.png"
        ]
      )
    }  
  }
}
0
S.Kr

他の回答に記載されている回避策を使用しましたが、非piplineジョブのようにジョブで結果が表示されないため、piplineジョブによってトリガーされ、結果ファイルをコピーするだけで分析を実行するフリースタイルプロジェクトを作成しました。これは無造作であり、ノード間での移植性がありません。ジョブ番号は時間の経過とともに混乱する可能性があるため、相関関係は扱いにくい場合があります。この時点で、汎用アーティファクトストレージを使用するか、ロボットを完全に取り除くかを調査します。

0
Amias