パイプラインビルドジョブの一部としてワークスペースに特定の.exeファイルが存在するかどうかを確認する必要があります。私はJenkinsfileの以下のGroovyスクリプトを使って同じことをしようとしました。しかし、私は、Fileクラスはデフォルトで、jenkins master上のworkspaceディレクトリを探して失敗すると考えています。FilePathを使用してJenkinsパイプラインのスレーブ上のワークスペースにアクセスする
@com.cloudbees.groovy.cps.NonCPS
def checkJacoco(isJacocoEnabled) {
new File(pwd()).eachFileRecurse(FILES) { it ->
if (it.name == 'jacoco.exec' || it.name == 'Jacoco.exec')
isJacocoEnabled = true
}
}
Jenkinsfile内からGroovyを使用してスレーブ上のファイルシステムにアクセスするにはどうすればよいですか?
また、以下のコードを試しました。しかし、私はNo such property: build for class: groovy.lang.Binding
エラーを取得しています。私はまたマネージャオブジェクトを代わりに使用しようとしました。しかし、同じエラーを取得します。
@com.cloudbees.groovy.cps.NonCPS
def checkJacoco(isJacocoEnabled) {
channel = build.workspace.channel
rootDirRemote = new FilePath(channel, pwd())
println "rootDirRemote::$rootDirRemote"
rootDirRemote.eachFileRecurse(FILES) { it ->
if (it.name == 'jacoco.exec' || it.name == 'Jacoco.exec') {
println "Jacoco Exists:: ${it.path}"
isJacocoEnabled = true
}
}
保存された人生:) ありがとう!! –