私は非常に単純なはずの一連のことをしようとしていますが、私には苦痛を与えています。高レベルでは、私は配列をループし、各値をそれ自身の配列を返さなければならないgradleタスクに渡したいと思います。私はこの配列を使用して、いくつかのJenkinsの設定をしたいと思っています。配列をループして各値をグラデルタスクに渡そう
私はこの作品を作るいくつかの方法を試してみましたが、ここに私の現在のセット・アップされています:私は本当にジェンキンスブロックがセットアップされてどのようにそれがうまくすでにだとして変更することはできません
project.ext.currentItemEvaluated = "microservice-1"
task getSnapshotDependencies {
def item = currentItemEvaluated
def snapshotDependencies = []
//this does a load of stuff like looping through gradle dependencies,
//which means this really needs to be a gradle task rather than a
//function etc. It eventually populates the snapshotDependencies array.
return snapshotDependencies
}
jenkins {
jobs {
def items = getItems() //returns an array of projects to loop through
items.each { item ->
"${item}-build" {
project.ext.currentItemEvaluated = item
def dependencies = project.getSnapshotDependencies
dsl {
configure configureLog()
//set some config here using the returned dependencies array
}
}
}
}
成熟したので、可能ならばその構造の中で仕事をする必要があります。
私は変数をタスクに渡そうとする試みをたくさん試しました。ここではプロジェクト変数を使用しています。この問題は、ジェンキンがブロックされる前にタスクが評価されているため、新しく設定されたcurrentItemEvaluated
変数を使用してタスクを正しく評価する方法を理解できません。
他に何ができるのですか?