未验证 提交 54f84aa8 编写于 作者: T Tim Jacomb 提交者: GitHub

Merge pull request #4602 from daniel-beck/JENKINS-61688

[JENKINS-61688] Load build discarder configuration after restart
......@@ -48,6 +48,10 @@ public class GlobalBuildDiscarderConfiguration extends GlobalConfiguration {
return ExtensionList.lookupSingleton(GlobalBuildDiscarderConfiguration.class);
}
public GlobalBuildDiscarderConfiguration() {
load();
}
private final DescribableList<GlobalBuildDiscarderStrategy, GlobalBuildDiscarderStrategyDescriptor> configuredBuildDiscarders =
new DescribableList<>(this, Collections.singletonList(new JobGlobalBuildDiscarderStrategy()));
......
......@@ -5,15 +5,35 @@ import hudson.model.FreeStyleProject;
import hudson.model.Run;
import hudson.model.TaskListener;
import hudson.tasks.LogRotator;
import hudson.util.DescribableList;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
import org.jvnet.hudson.test.Issue;
import org.jvnet.hudson.test.JenkinsRule;
import org.jvnet.hudson.test.recipes.LocalData;
public class GlobalBuildDiscarderTest {
@Rule
public JenkinsRule j = new JenkinsRule();
@Test
@LocalData
@Issue("JENKINS-61688")
public void testLoading() throws Exception {
Assert.assertEquals(0, GlobalBuildDiscarderConfiguration.get().getConfiguredBuildDiscarders().size());
}
@Test
@LocalData
@Issue("JENKINS-61688")
public void testLoadingWithDiscarders() throws Exception {
final DescribableList<GlobalBuildDiscarderStrategy, GlobalBuildDiscarderStrategyDescriptor> configuredBuildDiscarders = GlobalBuildDiscarderConfiguration.get().getConfiguredBuildDiscarders();
Assert.assertEquals(2, configuredBuildDiscarders.size());
Assert.assertNotNull(configuredBuildDiscarders.get(JobGlobalBuildDiscarderStrategy.class));
Assert.assertEquals(5, ((LogRotator)configuredBuildDiscarders.get(SimpleGlobalBuildDiscarderStrategy.class).getDiscarder()).getNumToKeep());
}
@Test
public void testJobBuildDiscarder() throws Exception {
FreeStyleProject p = j.createFreeStyleProject();
......
<?xml version='1.1' encoding='UTF-8'?>
<jenkins.model.GlobalBuildDiscarderConfiguration>
<configuredBuildDiscarders/>
</jenkins.model.GlobalBuildDiscarderConfiguration>
\ No newline at end of file
<?xml version='1.1' encoding='UTF-8'?>
<jenkins.model.GlobalBuildDiscarderConfiguration>
<configuredBuildDiscarders>
<jenkins.model.JobGlobalBuildDiscarderStrategy/>
<jenkins.model.SimpleGlobalBuildDiscarderStrategy>
<discarder class="hudson.tasks.LogRotator">
<daysToKeep>-1</daysToKeep>
<numToKeep>5</numToKeep>
<artifactDaysToKeep>-1</artifactDaysToKeep>
<artifactNumToKeep>-1</artifactNumToKeep>
</discarder>
</jenkins.model.SimpleGlobalBuildDiscarderStrategy>
</configuredBuildDiscarders>
</jenkins.model.GlobalBuildDiscarderConfiguration>
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册