2016-11-30 19 views
2

Ich habe das Problem, dass in einigen Jenkins Pipeline Projekten die Bühnenansicht unsichtbar wird.Jenkins Pipeline (Workflow) Bühnenansicht verschwindet

Normalerweise können Sie die Bühnenansicht zwischen "Letzte Änderungen" und "Permalinks" sehen. Nach einigen Durchläufen eines Projekts wird die Bühnenansicht ausgeblendet. Wenn ich das Projekt klonen, ist die Ansicht im Klon sichtbar, aber nicht im ursprünglichen Projekt.

Es ist eine Problemumgehung, das Projekt zu klonen, aber nicht eine gute, weil ich den Job nicht jede Woche ersetzen kann.

Hat jemand dieses Problem schon einmal gesehen und hat eine Idee, wie man das beheben kann?

Die Bühne Ansicht div, ist auf der Job-Übersichtsseite, aber es ist nicht sichtbar:

<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>

Mein 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" 
    } 
} 

My Job-Konfiguration als XML exportiert :

<?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

Sie sind nicht allein. Ich habe auch dieses Problem gesehen (und keine Lösung). Was "geholfen" war, alle alten Builds zu löschen (es gibt - natürlich - ein Plugin dafür). – jherb

+0

Danke für die Erinnerung, alte Builds zu löschen. Übrigens funktioniert es auch ohne ein Plugin sehr gut, wenn Sie Ihr Projekt so ändern, dass alte Builds verworfen werden (Max. Anzahl der zu erhaltenden Builds = 1) und die Änderungen nach einem Build rückgängig machen. Das Problem bleibt jedoch, weil ich möchte, dass meine Geschichte im Projekt bleibt. –

Antwort

0

Wenn ich es gesehen habe, war es nach dem Neustart Jenkins. Wenn Sie im Debugger in einem Browser nachsehen, werden Sie feststellen, dass versucht wird, Dateien zu laden, die nicht existieren. Ich habe einen Fehler dafür eingereicht, aber keine Antwort. Bitte stimme dafür, wenn es immer noch etwas ist, was du siehst: https://issues.jenkins-ci.org/browse/JENKINS-39143

1

Ich habe das Problem gelöst, indem ich die fehlende Datei manuell in den Jenkins-Serverjob kopiert habe.

Mein Detail vor:

  1. öffnet Pipeline Seite.
  2. Drücken Sie F12 in Chrome.
  3. Überprüfen Sie die Konsole auf Fehler.

mein Fehler fehlte "\ Jobs \ Dev-Linux-UI \ baut \ 21 \ Workflow \ 3.xml", kopierte ich die Datei von baut \ 20 \ Workflow \ 3.xml.

Es scheint, dass die Datei während der Kopie fehlt, da die Jenkins-Pipeline nicht stabil genug ist.