我遇到的问题是,在某些Jenkins管道项目中,舞台视图变得不可见。
通常,您可以看到" Recent Changes"之间的舞台视图。和"永久链接"。在一些项目运行后,舞台视图消失。如果我克隆项目,则视图在克隆中可见,但在原始项目中不可见。
克隆项目是一种解决方法,但不是很好,因为我不能每周更换这份工作。
之前是否有人看到过这个问题并有想法,如何解决?
舞台视图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>
&#13;
My 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="workflow-job@2.9">
<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="workflow-cps@2.23">
<scm class="hudson.scm.SubversionSCM" plugin="subversion@2.6">
<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>
答案 0 :(得分:3)
我通过手动将丢失的文件复制到Jenkins服务器作业来解决了这个问题。
我的详细步骤:
我的错误“ \ jobs \ Dev-Linux-UI \ builds \ 21 \ workflow \ 3.xml ”,我从 builds \ 20 \ workflow \ 3复制了该文件.XML 。
由于Jenkins管道不够稳定,似乎副本期间文件丢失了。
答案 1 :(得分:0)
当我看到它时,它是在重新启动jenkins之后。如果您在浏览器中查看调试器,则会发现它正在尝试加载不存在的文件。我已经为此提交了一个错误但没有回复。如果您仍然看到它,请投票赞成:https://issues.jenkins-ci.org/browse/JENKINS-39143
答案 2 :(得分:0)
我在关闭构建的测试趋势时观察到了这个问题。然后“舞台视图”也消失了,因此其他插件之间必须存在一些冲突,而不是Jenkins本身。
我还观察到,修改后视图或构建历史没有更改,因此我简单地克隆了项目并删除了旧的项目。这样做的副作用是构建历史记录消失了。