2016-11-30 8 views
2

Jenkinsパイプラインプロジェクトの中には、ステージビューが見えなくなることがあるという問題があります。Jenkinsパイプライン(ワークフロー)ステージビューが消える

通常、「最近の変更」と「パーマリンク」の間にステージビューが表示されます。プロジェクトをいくつか実行すると、ステージビューが消えます。プロジェクトをクローンすると、ビューはクローンには表示されますが、元のプロジェクトには表示されません。

私は毎週仕事を置き換えることができないので、それはプロジェクトを複製するための回避策ですが、良い方法ではありません。

誰かが以前にその問題を見て、アイデアを持っていましたが、それを修正する方法はありますか?

ステージビューのdivは、ジョブ概要ページ上にあるが、それは表示されていない:

<div class="cbwf-stage-view"> 
 
    <div class="cbwf-widget cbwf-controller-applied pipeline-staged" objecturl="/user/myname/my-views/view/MaintainedByMe/job/Category/job/ProjectName/" fragcaption="Stage View" cbwf-controller="pipeline-staged"></div> 
 
    <link rel="stylesheet" href="/adjuncts/ee6b655e/org/jenkinsci/pipeline/stageview_adjunct.css" type="text/css"> 
 
    <script src="/adjuncts/ee6b655e/org/jenkinsci/pipeline/stageview_adjunct.js" type="text/javascript"></script> 
 
</div>

マイJenkinsfile:

def sonarHostUrl = 'http://sonar.host.url:1234' 

node('Build') { 
    echo "enforce a clear workspace:" // because there were some other problems 
    deleteDir() 

    stage('Checkout') { 
     checkoutFromSVN() 
    } 
    stage('Compile') { 
     mvn 'clean compile test-compile' 
    } 
    stage('Unit Tests') { 
     mvn '-B org.jacoco:jacoco-maven-plugin:prepare-agent test' 
     step([$class: 'JUnitResultArchiver', testResults: '**/target/surefire-reports/TEST-*.xml']) 
    } 
    stage('Deploy to Nexus') { 
     mvn 'install deploy -DskipTests' 
     archiveArtifacts artifacts: '**/project-name*.jar', onlyIfSuccessful: false 
    } 
    stage('Local Integration Tests') { 
     mvn '-B org.jacoco:jacoco-maven-plugin:prepare-agent-integration failsafe:integration-test failsafe:verify' 
     step([$class: 'JUnitResultArchiver', testResults: '**/target/failsafe-reports/TEST-*.xml']) 
    } 
    stage('Sonar'){ 
     mvn "org.sonarsource.scanner.maven:sonar-maven-plugin:3.1.1:sonar -Dsonar.host.url=$sonarHostUrl" 
    } 
} 
stage('Deploy to DEV') { 
    build 'JobThatDeploysTheApplicationToDevEnv' 
} 
stage('Functional Tests') { 
    build job: 'JobWithSoapUITests', parameters: [string(name: 'TESTENVIRONMENT', value: 'DEV')] 
} 

def checkoutFromSVN(){ 
    checkout([$class: 'SubversionSCM', 
      excludedCommitMessages: '.*\\[maven-release-plugin\\].*', 
      locations: [[credentialsId: 'a1a2b3c4-1234-ab1d-b56c-0ac4bff23a6c', 
         depthOption: 'infinity', 
         ignoreExternalsOption: true, 
         excludedRegions: 'Jenkinsfile', 
         local: 'project-dir', 
         remote: 'https://url.to/project-dir']], 
      workspaceUpdater: [$class: 'CheckoutUpdater']]) 
} 

def mvn(String args) { 
    def mvnCmd = "${tool name: 'Maven 3.3.9', type: 'hudson.tasks.Maven$MavenInstallation'}/bin/mvn" 

    wrap([$class: 'ConfigFileBuildWrapper', 
      managedFiles: [[ 
        fileId: 'org.jenkinsci.plugins.configfiles.maven.GlobalMavenSettingsConfig1234567', 
        targetLocation: '', // temporary file 
        variable: 'MAVEN_SETTINGS']]]) { 
     bat "${mvnCmd} -s ${env.MAVEN_SETTINGS} ${args} -f project-dir/pom.xml" 
    } 
} 

マイジョブ構成XMLとしてエクスポート:

<?xml version='1.0' encoding='UTF-8'?> 
<flow-definition plugin="[email protected]"> 
    <actions/> 
    <description></description> 
    <keepDependencies>false</keepDependencies> 
    <properties> 
    <jenkins.model.BuildDiscarderProperty> 
     <strategy class="hudson.tasks.LogRotator"> 
     <daysToKeep>-1</daysToKeep> 
     <numToKeep>10</numToKeep> 
     <artifactDaysToKeep>-1</artifactDaysToKeep> 
     <artifactNumToKeep>-1</artifactNumToKeep> 
     </strategy> 
    </jenkins.model.BuildDiscarderProperty> 
    <org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty> 
     <triggers> 
     <hudson.triggers.TimerTrigger> 
      <spec>H H * * *</spec> 
     </hudson.triggers.TimerTrigger> 
     <hudson.triggers.SCMTrigger> 
      <spec>H/10 7-18 * * *</spec> 
      <ignorePostCommitHooks>false</ignorePostCommitHooks> 
     </hudson.triggers.SCMTrigger> 
     </triggers> 
    </org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty> 
    </properties> 
    <definition class="org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition" plugin="[email protected]"> 
    <scm class="hudson.scm.SubversionSCM" plugin="[email protected]"> 
     <locations> 
     <hudson.scm.SubversionSCM_-ModuleLocation> 
      <remote>https://url.to/project-dir</remote> 
      <credentialsId>a1a2b3c4-1234-ab1d-b56c-0ac4bff23a6c</credentialsId> 
      <local>.</local> 
      <depthOption>infinity</depthOption> 
      <ignoreExternalsOption>true</ignoreExternalsOption> 
     </hudson.scm.SubversionSCM_-ModuleLocation> 
     </locations> 
     <excludedRegions></excludedRegions> 
     <includedRegions>Jenkinsfile</includedRegions> 
     <excludedUsers></excludedUsers> 
     <excludedRevprop></excludedRevprop> 
     <excludedCommitMessages></excludedCommitMessages> 
     <workspaceUpdater class="hudson.scm.subversion.UpdateWithRevertUpdater"/> 
     <ignoreDirPropChanges>false</ignoreDirPropChanges> 
     <filterChangelog>false</filterChangelog> 
    </scm> 
    <scriptPath>Jenkinsfile</scriptPath> 
    </definition> 
    <triggers/> 
</flow-definition> 
+1

あなたは一人ではありません。私もこの問題を(そして修正なしで)見てきました。どのような "助け"は、すべての古いビルドをパージすることでした(もちろん、これにはプラグインがあります)。 – jherb

+0

古いビルドをパージするように通知していただきありがとうございます。ところで、古いビルド(ビルドの最大数= 1)を破棄し、1つのビルド後に変更を取り消すようにプロジェクトを変更すると、プラグインなしでもうまく機能します。しかし、問題は残っているので、私の歴史はプロジェクトに残っています。 –

答えて

0

私はそれを見て、それはジェンキンスを再起動した後でした。デバッガをブラウザで見ると、存在しないファイルをロードしようとしていることがわかります。私はこれに対してバグを提出しましたが、回答はありませんでした。まだ見ているものなら、投票してください:https://issues.jenkins-ci.org/browse/JENKINS-39143

1

不足しているファイルを手動でJenkinsサーバージョブにコピーして問題を解決しました。

私の詳細手順:

  1. オープンパイプラインページ。
  2. ChromeのF12キーを押します。
  3. コンソールのエラーを確認してください。

私のエラーが欠けていた "のDev-Linuxの-UI \ビルド\ \ジョブを\ 21 \ワークフロー\ 3.xml"、私はからファイル\ 20 \ワークフロー\ 3.xmlのビルドをコピーしました。

Jenkinsパイプラインが十分に安定していないため、コピー中にファイルが見つからないようです。

関連する問題