TEMPフォルダの中身を削除するジョブを並列で実行するスクリプト。
def onlineComputers = []
stage("GetOnlineComputers") {
onlineComputers = getOnlineComputers()
}
def builders = [:]
for (int i = 0; i < onlineComputers.size(); i++) {
def onlineComputerName = onlineComputers[i].getName()
builders[onlineComputerName] = {
node(onlineComputerName) {
stage('delete') {
bat "if exist %temp% del /Q %temp%"
bat "if exist %temp%\\* for /D %%1 in (%temp%\\*) do rmdir /s /q %%1"
}
}
}
}
parallel builders
def getOnlineComputers() {
def nodes = []
def allNodes = Jenkins.getInstance().getNodes()
for (x in allNodes) {
def node = x
allNodes.each{node ->
if (node.toComputer() && !node.toComputer().isOffline() && !node.toComputer().isTemporarilyOffline()) {
nodes << node
}
}
}
return nodes
}