2017-10-11 138 views
1

我有一个创建Jenkins作业的种子作业,而作业创建时,他们缺少SCM,标签和包装等东西。Jenkins作业dsl生成的作业缺失SCM

下面是被创建一个简单的作业脚本:

job(jobName) { 
    label('pdfs') 
    description jobDesc 
    parameters { 
    textParam('PDF_BRANCH', 'release/server_2.11.1', '') 
    } 
    scm { 
    git { 
     remote { 
     url('https://stash.domain.com/scm/project/repo.git') 
     credentials('repo-user-creds') 
     } 
     branch('*/master') 
    } 
    } 
    triggers { 
    scm 'H/5 * * * *' 
    } 
    steps { 
    shell jobScript 
    } 
    wrappers { 
    rbenv('1.9.3-p484') { 
     ignoreLocalVersion() 
     gems('bundler', 'rake') 
    } 
    } 
} 

但由此产生的工作没有SCM或标签: enter image description here 服务器上的XML似乎包括SCM和标签:

<?xml version="1.0" encoding="UTF-8"?><project> 
    <actions/> 
    <description>Testing pdf creation job against Elemental Server</description> 
    <keepDependencies>false</keepDependencies> 
    <properties> 
     <hudson.model.ParametersDefinitionProperty> 
      <parameterDefinitions> 
       <hudson.model.TextParameterDefinition> 
        <name>PDF_BRANCH</name> 
        <defaultValue>release/server_2.11.1</defaultValue> 
        <description/> 
       </hudson.model.TextParameterDefinition> 
      </parameterDefinitions> 
     </hudson.model.ParametersDefinitionProperty> 
    </properties> 
    <canRoam>false</canRoam> 
    <disabled>false</disabled> 
    <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding> 
    <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding> 
    <triggers> 
     <hudson.triggers.SCMTrigger> 
      <spec>H/5 * * * *</spec> 
      <ignorePostCommitHooks>false</ignorePostCommitHooks> 
     </hudson.triggers.SCMTrigger> 
    </triggers> 
    <concurrentBuild>false</concurrentBuild> 
    <builders> 
     <hudson.tasks.Shell> 
      <command> 
# REMOVED FOR BREVITY 
</command> 
     </hudson.tasks.Shell> 
    </builders> 
    <publishers/> 
    <buildWrappers> 
     <ruby-proxy-object> 
      <ruby-object ruby-class="Jenkins::Tasks::BuildWrapperProxy" pluginid="rbenv"> 
       <pluginid ruby-class="String" pluginid="rbenv">rbenv</pluginid> 
       <object ruby-class="RbenvWrapper" pluginid="rbenv"> 
        <version ruby-class="String" pluginid="rbenv">1.9.3-p484</version> 
        <ignore__local__version ruby-class="String" pluginid="rbenv">true</ignore__local__version> 
        <gem__list ruby-class="String" pluginid="rbenv">bundler,rake</gem__list> 
        <rbenv__root ruby-class="String" pluginid="rbenv">$HOME/.rbenv</rbenv__root> 
        <rbenv__repository ruby-class="String" pluginid="rbenv">https://github.com/sstephenson/rbenv.git</rbenv__repository> 
        <rbenv__revision ruby-class="String" pluginid="rbenv">master</rbenv__revision> 
        <ruby__build__repository ruby-class="String" pluginid="rbenv">https://github.com/sstephenson/ruby-build.git</ruby__build__repository> 
        <ruby__build__revision ruby-class="String" pluginid="rbenv">master</ruby__build__revision> 
       </object> 
      </ruby-object> 
     </ruby-proxy-object> 
    </buildWrappers> 
    <assignedNode>pdfs</assignedNode> 
    <scm class="hudson.plugins.git.GitSCM"> 
     <userRemoteConfigs> 
      <hudson.plugins.git.UserRemoteConfig> 
       <url>https://stash.domain.com/scm/project/repo.git</url> 
       <credentialsId>repo-user-creds</credentialsId> 
      </hudson.plugins.git.UserRemoteConfig> 
     </userRemoteConfigs> 
     <branches> 
      <hudson.plugins.git.BranchSpec> 
       <name>*/master</name> 
      </hudson.plugins.git.BranchSpec> 
     </branches> 
     <configVersion>2</configVersion> 
     <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations> 
     <gitTool>Default</gitTool> 
    </scm> 

我对詹金斯job-dsl非常陌生,所以我确信我错过了一些相当明显的东西,但我只是不知道它是什么。非常感谢任何帮助,谢谢!

+1

所以你有git插件安装? – KeepCalmAndCarryOn

+0

是的,我可以手动添加一个SCM来源,选择凭证等,它会工作。 – Resisty

回答

0

尝试在这里验证你的代码 job DSL playground

如果所有的标签来罚款然后ü可能需要检查DSL插件版本和任何更新的DSL方法