Wierzę, że to pytanie jest pytaniem coś jak używać DSL zadanie, aby stworzyć pracę rurociągu, który odwołuje się do Jenkinsfile dla projektu i nie łączą się z tworzenia nowych miejsc pracy ze szczegółowym definicje krokowe, jak podano w odpowiedziach do tej pory. Ma to sens: konfiguracja tworzenia i konfiguracji metadanych Jenkinsa (opis, wyzwalacze itp.) Może należeć do administratorów Jenkins, ale zespół programistów powinien mieć kontrolę nad tym, co faktycznie robi ta praca.
@meallhour, czy poniżej tego, czego szukasz? (Działa jak w Job DSL 1,64)
pipelineJob('DSL_Pipeline') {
def repo = 'https://github.com/path/to/your/repo.git'
triggers {
scm('H/5 * * * *')
}
description("Pipeline for $repo")
definition {
cpsScm {
scm {
git {
remote { url(repo) }
branches('master', '**/feature*')
scriptPath('misc/Jenkinsfile.v2')
extensions { } // required as otherwise it may try to tag the repo, which you may not want
}
// the single line below also works, but it
// only covers the 'master' branch and may not give you
// enough control.
// git(repo, 'master', { node -> node/'extensions' << '' })
}
}
}
}
Ref pipelineJob DSL Praca: https://jenkinsci.github.io/job-dsl-plugin/#path/pipelineJob i siekać daleko na nim na http://job-dsl.herokuapp.com/ zobaczyć wygenerowany config.
Ten przykład zadziałał dla mnie. Oto kolejny przykład na podstawie tego, co pracował dla mnie:
pipelineJob('Your App Pipeline') {
def repo = 'https://github.com/user/yourApp.git'
def sshRepo = '[email protected]:user/yourApp.git'
description("Your App Pipeline")
keepDependencies(false)
properties{
githubProjectUrl (repo)
rebuild {
autoRebuild(false)
}
}
definition {
cpsScm {
scm {
git {
remote { url(sshRepo) }
branches('master')
scriptPath('Jenkinsfile')
extensions { } // required as otherwise it may try to tag the repo, which you may not want
}
}
}
}
Jeśli budować rurociąg pierwszy za pośrednictwem interfejsu użytkownika, można użyć pliku config.xml oraz dokumentacji Jenkins https://jenkinsci.github.io/job-dsl-plugin/#path/pipelineJob stworzyć swoją pracę rurociągu.