У меня есть работа с конвейером Дженкинса, которая загружается сама.Идея здесь в том, чтобы самостоятельно протестировать изменения, в том числе изменения в скриптах jenkins pipe Groovy, которые хранятся в git.
Мне было интересно, как запустить отдельную работу, а не сборку.Например, если у меня есть задание "build_linux" , в настоящее время Дженкинс создаст папку "workspace / build_linux" , и все, что там внутри, будет и загружено, и встроено в нее.
Проблема в том, что мой build_repository.git очень большой, и я не хочу проверять его дважды на этапе начальной загрузки и на этапе сборки.Однако, если я не проверяю их обоих на обоих этапах, git (На самом деле я репозитирую синхронизацию манифеста с обоими git-репозиториями из сценариев Google 'repo'), жалуются, что там есть код, которого не должно быть,и или терпит неудачу или попытается очистить это (который неэффективен).
В идеале я бы просто имел рабочие папки "workspace / bootstrap /" и "workspace / linux_build /" .
Например,мой конвейер выглядит так:
bootstrap.gvy:
--> **entry point from my jenkins config**
stage('Bootstrap') {
node("$BOOTSTRAP_NODE") {
git checkout bootstrap_repository.git
git checkout build_repository.git // I don't want to do this here
pipeline = load "build/build.gvy"
}
pipeline.main(env.JOB_NAME) // which in this case is "build_linux"
}
build / build.gvy:
int main(String jobName) {
switch (jobname) {
case "build_linux":
doBuildLiunx()
break
}
}
def doBuildLinux() {
stage("Build") {
node("$BUILD_NODE") {
git checkout bootstrap_repository.git // I don't want to do this here
git checkout build_repository.git
}
}
}
Есть предложения, как этого добиться?Возможно, мне следует использовать другое рабочее пространство для начальной загрузки?
Спасибо