Mam 10 pracy Jenkinsa w folderze foo
. Stworzyłem nowy podkatalog baar
w folderze foo
. Jak przenieść 10 zadań z folderu foo
do podfolderu baar
?Jak przenieść pracę Jenkinsa do podfolderu?
6
A
Odpowiedz
11
Najpierw trzeba zainstalować cloudbees folder plugin wtedy zobaczysz Przenieś opcję w pracy
kliknij na niego, a następnie opcja (rozwijana) pojawi się tam, gdzie chcesz się przenieść
wybierz i przenieś
1
Czy próbowałeś użyć folderu wtyczki?
https://wiki.jenkins-ci.org/display/JENKINS/CloudBees+Folders+Plugin
Następnie można przenieść zadania z funkcji: "Move"
3
Jako że @Pratik Anand wspomniał, że najpierw musisz zainstalować CloudBees Folders Plugin.
Jeśli jednak chcesz przenieść wiele projektów w tym samym czasie, znacznie szybciej jest zrobić to za pomocą script console. Ten Groovy skrypt załatwia sprawę:
def FOLDER_NAME = '<An existing destination folder>'
def JOB_REGEX = '<A regex to find your jobs>'
import jenkins.*
import jenkins.model.*
import hudson.*
import hudson.model.*
jenkins = Jenkins.instance
def folder = jenkins.getItemByFullName(FOLDER_NAME)
if (folder == null) {
println "ERROR: Folder '$FOLDER_NAME' not found"
return
}
// Find jobs in main folder
def found = jenkins.items.grep { it.name =~ "${JOB_REGEX}" }
println "Searching main folder : $found"
// Find jobs in other subfolders
jenkins.items.grep { it instanceof com.cloudbees.hudson.plugins.folder.Folder }.each { subfolder ->
if(!subfolder.getName().equals(FOLDER_NAME))
{
println "Searching folder '$subfolder.name'"
subfolder.getItems().grep { it.name =~ "${JOB_REGEX}" }.each { job ->
println "Found $job.name"
found.add(job);
}
}
}
// Move them
found.each { job ->
println "Moving '$job.name' to '$folder.name'"
Items.move(job, folder)
}
Kiedyś odpowiedź Daniela Serodio w this thread i modyfikować go szukać również podfoldery. Zauważ, że nie jest to w pełni rekurencyjne.
Dziękuję, Twoja odpowiedź za pomocą zrzutów ekranu jest lepsza niż moja – dams