jinkins DSLにpipelineJob dslを統合しようとしています(jenkins DSLプラグインによる)。Jenkinsワークフロー(パイプライン)+ JobDSLプラグイン - SCMが機能しない
jenkins DSLのAPIリファレンスに見られるように、私の目的のための議論があります。 pipelineJob - > scm - > git
しかし、生成後、UIにはまったくscmビューがありません。純粋なpipelineJobを作成した場合、scmのUIもありませんでした。
私はパイプラインプラグインのソースを追跡してpipelineJobが継承したジョブを認識したので、通常のジョブのようなSCM関連のオプションがあるはずです。
パイプラインジョブで通常のscm UIを取得する方法はありますか?または私はグルーヴィースクリプトだけで私の目的を達成する必要がありますか?
ジェンキンスジョブDSLは
def projects = [
'Nova',
'Keystone',
'Cinder',
'Glance',
'Horizon',
'Neutron',
'Networking-kakao',
'Neutron-fwaas',
'Neutron-lbaas',
'Octavia',
'Ceilometer',
'Heat',
'Sahara',
'Trove'
]
def codeName = 'mitaka'
def ref = 'kakao/' + codeName
projects.each {
def project = it
def jobName = 'Unit/OpenStack/' + project
project = project.toLowerCase()
pipelineJob(jobName) {
logRotator(daysToKeep = 7, numToKeep = 5)
scm {
concurrentBuild()
git {
remote {
url("https://github.com/openstack/${project}.git")
}
branch("${ref}")
extensions {
wipeOutWorkspace()
}
}
}
definition {
cps {
sandbox()
script("""
node {
stage ('Clone Sources') {
git {
remote {
url("https://github.com/openstack/${project}.git")
credentials("ccc")
}
branch("${ref}")
extensions {
wipeOutWorkspace()
}
}
git {
url 'https://github.com/openstack-tox-base.git'
branch 'rewrite'
}
sh 'cp tox-openstack-base/Dockerfile.test Dockerfile'
}
docker.withServer('tcp://...:2375') {
def img
def base = docker.image('idock.daumkakao.io/openstack/tox/test-base:newton2')
stage ('Build Test Image') {
base.pull()
img = docker.build("tox/newton/test-horizon")
}
stage ('Run Test') {
sh "docker run --rm tox/newton/test-horizon"
}
}
}
""".stripIndent())
}
}
}
}
パイプラインは、コードを介して設定されており、それは良いことです。 'scm'を使ってJobDSLコードにSCMを設定することができます。 [APIビューア](https://jenkinsci.github.io/job-dsl-plugin/#path/pipelineJob-scm)を見てください。そしてあなたはパイプラインで同じ手段を持っています。私は[Jenkins Pipelines](https://jenkins.io/doc/book/pipeline/)に詳しいことをお勧めします。 – StephenKing
@StephenKingはい、そういうわけで私はこの質問を投稿します。 APIリファレンスから、私はJobDSLでscmを使用することになっていました。しかし、SCMはまったく生成されません。 (パイプラインジョブにもscmビューはありません) – XeIte
PLSコードを投稿してみてください。 –