This is an automated email from the ASF dual-hosted git repository.
nickva pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/couchdb-ci.git
The following commit(s) were added to refs/heads/main by this push:
new 3bec3ae Jenkins CI capture / backup
3bec3ae is described below
commit 3bec3ae5add02f2d9f3ac690ed3b5109d490f918
Author: Nick Vatamaniuc <[email protected]>
AuthorDate: Mon Jul 27 13:26:07 2026 -0400
Jenkins CI capture / backup
We had another incident over the last few days where:
* CI jobs had disappeared
* All worker credentials were invalidated
* Some workers had completely disappeared
Restoring it was a pain. Some items were restored with help from ASF infra
but
they ended up in a different place (path), others were restored that were
from
more than 5 years ago (referencing 2.3 release branches). Other bits and
pieces
had to be recreated and validated by hand. Here we try to capture a bit more
now to hopefully be able to restore it quicker. The job definition XML files
are now included along with a few more yaml config files besides just
`jenkins.yaml`. It's still not a single backup/restore kind of a default but
it's a bit more thorough than before.
This will eventually becomes stale but it's better to have something at
least
than nothing at all.
---
jenkins-config-backup/bundle.yaml | 15 +++
jenkins-config-backup/items.yaml | 3 +
jenkins-config-backup/jenkins.yaml | 146 ++++++++------------
jenkins-config-backup/jobs/FullPlatformMatrix.xml | 84 ++++++++++++
jenkins-config-backup/jobs/PullRequests.xml | 81 ++++++++++++
.../jobs/UpdateDockerContainers.xml | 52 ++++++++
jenkins-config-backup/plugin-catalog.yaml | 38 ++++++
jenkins-config-backup/plugins.yaml | 147 +++++++++++++++++++++
jenkins-config-backup/rbac.yaml | 59 +++++++++
jenkins-config-backup/readme.md | 120 ++++++++++++-----
.../system_information_plugins.md | 140 --------------------
11 files changed, 621 insertions(+), 264 deletions(-)
diff --git a/jenkins-config-backup/bundle.yaml
b/jenkins-config-backup/bundle.yaml
new file mode 100644
index 0000000..a95d3c1
--- /dev/null
+++ b/jenkins-config-backup/bundle.yaml
@@ -0,0 +1,15 @@
+apiVersion: "1"
+id: "jenkins"
+description: "Autogenerated bundle descriptor"
+version: "1"
+jcasc:
+ - "jenkins.yaml"
+plugins:
+ - "plugins.yaml"
+catalog:
+ - "plugin-catalog.yaml"
+rbac:
+ - "rbac.yaml"
+items:
+ - "items.yaml"
+
diff --git a/jenkins-config-backup/items.yaml b/jenkins-config-backup/items.yaml
new file mode 100644
index 0000000..4e94c00
--- /dev/null
+++ b/jenkins-config-backup/items.yaml
@@ -0,0 +1,3 @@
+removeStrategy:
+ rbac: SYNC
+ items: NONE
diff --git a/jenkins-config-backup/jenkins.yaml
b/jenkins-config-backup/jenkins.yaml
index b2a2a86..dd7f88b 100644
--- a/jenkins-config-backup/jenkins.yaml
+++ b/jenkins-config-backup/jenkins.yaml
@@ -10,11 +10,13 @@ credentials:
system:
domainCredentials:
- credentials:
- - string:
- description: "Admin access to ASF Github repo hooks"
- id: "jenkins-cm1-pr-hooks"
+ - usernamePassword:
+ description: "dockerhub_creds (original one was blown away so had to
recreate\
+ \ using own dockerhub token)"
+ id: "dockerhub_creds"
+ password: "...redacted..."
scope: GLOBAL
- secret: "...redacted..."
+ username: "...redacted..."
domain: {
}
user: {
@@ -26,17 +28,9 @@ jenkins:
excludeClientIPFromCrumb: false
disableRememberMe: false
disabledAdministrativeMonitors:
- - "hudson.node_monitors.MonitorMarkedNodeOffline"
- "com.cloudbees.jenkins.plugins.administrative_monitors.BlueOceanMonitor2"
- -
"com.cloudbees.jenkins.plugins.administrative_monitors.MavenIntegrationPluginMonitor"
- "com.cloudbees.jenkins.plugins.administrative_monitors.TomcatMonitor"
- - "OldData"
- -
"com.cloudbees.jenkins.plugins.administrative_monitors.unsupported_plugin.WikiTextMonitor"
- - "hudson.util.DoubleLaunchChecker"
- "jenkins.security.csp.impl.CspRecommendation"
- - "com.cloudbees.analytics.gatherer.SegmentQueueOverwhelmedMonitor"
- - "com.cloudbees.jenkins.plugins.administrative_monitors.BlueOceanMonitor"
- - "com.cloudbees.jenkins.plugins.assurance.SecurityWarningsWatch"
labelAtoms:
- name: "asfminidebian"
- name: "built-in"
@@ -57,10 +51,10 @@ jenkins:
- name: "freebsd-x86_64"
- name: "linux1"
- name: "macos"
- - name: "ppc64le"
- - name: "s390x"
+ - name: "ppc64le_own"
+ - name: "s390x_own"
- name: "ubuntu"
- - name: "ubuntu-fra1-10"
+ - name: "ubuntu-c-4-nyc3-01"
- name: "ubuntu-fsn-1-09"
- name: "ubuntu-nc-arm64-12"
- name: "ubuntu-nc-x86-11"
@@ -72,17 +66,16 @@ jenkins:
rawHtml:
disableSyntaxHighlighting: false
mode: NORMAL
- noUsageStatistics: true
nodeMonitors:
- "architecture"
- "clock"
- diskSpace:
- freeSpaceThreshold: "1GB"
- freeSpaceWarningThreshold: "2GB"
+ freeSpaceThreshold: "1GiB"
+ freeSpaceWarningThreshold: "2GiB"
- "swapSpace"
- tmpSpace:
- freeSpaceThreshold: "1GB"
- freeSpaceWarningThreshold: "2GB"
+ freeSpaceThreshold: "1GiB"
+ freeSpaceWarningThreshold: "2GiB"
- "responseTime"
nodes:
- permanent:
@@ -95,11 +88,6 @@ jenkins:
internalDir: "remoting"
name: "asfminidebian"
nodeDescription: "Ubuntu Debian ARM64 VM. Donated by Jan."
- nodeProperties:
- - envVars:
- env:
- - key: "MAVEN_OPTS"
- value: ""
remoteFS: "/home/jenkins"
retentionStrategy: "always"
- permanent:
@@ -111,12 +99,7 @@ jenkins:
failIfWorkDirIsMissing: false
internalDir: "remoting"
name: "couchdb-freebsd-arm64"
- nodeDescription: "FreeBSD Build Node"
- nodeProperties:
- - envVars:
- env:
- - key: "MAVEN_OPTS"
- value: ""
+ nodeDescription: "FreeBSD Build Node on a06.cabal5.net"
remoteFS: "/home/jenkins"
retentionStrategy: "always"
- permanent:
@@ -136,8 +119,6 @@ jenkins:
value: "clang"
- key: "CPP"
value: "clang++"
- - key: "MAVEN_OPTS"
- value: ""
remoteFS: "/home/jenkins"
retentionStrategy: "always"
- permanent:
@@ -263,11 +244,6 @@ jenkins:
failIfWorkDirIsMissing: false
internalDir: "remoting"
name: "couchdb-worker-x86-64-ubuntu-dal-1-07"
- nodeProperties:
- - envVars:
- env:
- - key: "MAVEN_OPTS"
- value: ""
remoteFS: "/home/jenkins"
retentionStrategy: "always"
- permanent:
@@ -287,7 +263,7 @@ jenkins:
remoteFS: "/home/jenkins"
retentionStrategy: "always"
- permanent:
- labelString: "s390x"
+ labelString: "s390x_own"
launcher:
inbound:
workDirSettings:
@@ -305,7 +281,7 @@ jenkins:
remoteFS: "/home/jenkins"
retentionStrategy: "always"
- permanent:
- labelString: "ppc64le"
+ labelString: "ppc64le_own"
launcher:
inbound:
workDirSettings:
@@ -329,7 +305,7 @@ jenkins:
disabled: false
failIfWorkDirIsMissing: false
internalDir: "remoting"
- name: "ubuntu-fra1-10"
+ name: "ubuntu-c-4-nyc3-01"
nodeDescription: "Ubuntu x86_64. Donated by Digital Ocean"
nodeProperties:
- envVars:
@@ -348,11 +324,6 @@ jenkins:
internalDir: "remoting"
name: "ubuntu-fsn-1-09"
nodeDescription: "Ubuntu x86_64. Donated by Jan"
- nodeProperties:
- - envVars:
- env:
- - key: "MAVEN_OPTS"
- value: ""
remoteFS: "/home/jenkins"
retentionStrategy: "always"
- permanent:
@@ -395,16 +366,23 @@ jenkins:
inbound:
workDirSettings:
disabled: false
- failIfWorkDirIsMissing: true
+ failIfWorkDirIsMissing: false
internalDir: "remoting"
- mode: EXCLUSIVE
name: "win2022"
+ nodeDescription: "Windows Server 2022. Donated by Neighbourhoodie.
Hosted by\
+ \ Alfahosting."
nodeProperties:
- - envVars:
- env:
- - key: "MAVEN_OPTS"
- value: ""
- remoteFS: "C:\\tools\\jenkins-agent\\"
+ - owners:
+ onFirstLaunchFailure: false
+ onLaunchFailure: false
+ onOffline: true
+ onOnline: true
+ onTemporaryOfflineApplied: false
+ onTemporaryOfflineRemoved: false
+ owners: |-
+ [email protected]
+ [email protected]
+ remoteFS: "C:\\tools\\jenkins-agent"
retentionStrategy: "always"
numExecutors: 0
primaryView:
@@ -443,8 +421,8 @@ jenkins:
beekeeper:
enabled: true
securityWarnings:
- enabledForCore: true
- enabledForPlugins: true
+ enabledForCore: false
+ enabledForPlugins: false
upgrades:
autoDowngradePlugins: false
autoUpgradePlugins: true
@@ -553,24 +531,6 @@ security:
sSHD:
port: -1
scriptApproval:
- approvedScriptHashes:
- - "017d0db438428731cd600b6ebda805065433520f"
- - "0583c5a085f38ff3b1ddd5de755952700f914c07"
- - "1fe2a96b934459c27b025bff5e5bf9ec000ef381"
- - "314de9326bf4606a5275a1d3f116d446f0471e9b"
- - "48126fb9724f32d3e1afb1cb4ce72a0889134dd3"
- - "639c21f8c675b1f55597a815c6519ed72b7917ad"
- - "7d0ec331043289e728ad47680386042d43766d93"
- - "8d7dffa0fa077b4018bc76f8b3ebd7bc48459fcc"
- - "a78cc9c5f6fee2ca1fa03dce3b43503e7c57e5dd"
- - "ad84649250e60d2a1ff6dd112e48aa556e82e3cd"
- - "c17143c88ad09378dbd0a7980e8472136aa0a6ad"
- - "c82d4a7e5ced620b4fc145a54b4a3bc8e6bc5d83"
- - "ccd23a74df0c6fdfef512c9d086977a77e0022e4"
- - "e1395200eda9e5e0089775cad3d99d29b7032daa"
- - "ee7d1ca969e5906b9bb51f08cdc5cdcb29ad72df"
- - "fbcbad05f0620332f64abae08788612d140703d3"
- - "fca3e2dae16894945401bddf7c73d9a545fd61a0"
forceSandbox: false
unclassified:
administrativeMonitorsConfiguration: {
@@ -599,6 +559,12 @@ unclassified:
variableInterpolationEnabledForNonAdmin: false
cloudBeesSCMReporting:
enabled: true
+ cloudbeesPipelineExplorer:
+ autoPollingEnabled: true
+ autoPollingIntervalSeconds: 10
+ enabled: true
+ pluggableStorageEnabled: false
+ searchMaxIndexSize: 1000
cloudbeesPlatform: {
}
computerRetentionCheckInterval: {
@@ -607,18 +573,8 @@ unclassified:
}
defaultDisplayUrlProvider: {
}
- defaultFolderConfiguration:
- healthMetrics:
- - worstChildHealthMetric:
- recursive: true
- - "averageChildHealthMetric"
- - jobStatusHealthMetric:
- countVirginJobs: false
- failure: true
- success: true
- unbuilt: true
- unstable: true
- - "projectEnabledHealthMetric"
+ defaultFolderConfiguration: {
+ }
defaultView: {
}
envVarsFilter: {
@@ -631,16 +587,13 @@ unclassified:
gitHubConfiguration:
apiRateLimitChecker: ThrottleForNormalize
gitHubPluginConfig:
- configs:
- - credentialsId: "jenkins-cm1-pr-hooks"
- name: "ASF Github"
hookUrl: "https://ci-couchdb.apache.org/github-webhook/"
globalConfigFiles: {
}
globalConfigurationImpl: {
}
- globalDefaultFlowDurabilityLevel:
- durabilityHint: PERFORMANCE_OPTIMIZED
+ globalDefaultFlowDurabilityLevel: {
+ }
globalLibraries: {
}
globalUntrustedLibraries: {
@@ -774,6 +727,10 @@ tool:
name: "jdk_27_latest"
- home: "F:\\jenkins\\tools\\java\\latest27"
name: "jdk_27_latest_windows"
+ - home: "/home/jenkins/tools/java/latest28"
+ name: "jdk_28_latest"
+ - home: "F:\\jenkins\\tools\\java\\latest28"
+ name: "jdk_28_latest_windows"
- home: "/home/jenkins/tools/java/oraclejdk-1.8.0-291"
name: "oracle_jdk_1.8.0_291"
- home: "F:\\jenkins\\tools\\java\\oraclejdk-1.8.0-291"
@@ -810,6 +767,10 @@ tool:
name: "openjdk_27_ea_1"
- home: "F:\\jenkins\\tools\\java\\openjdk-27-ea+1"
name: "openjdk_27_ea_1_windows"
+ - home: "/home/jenkins/tools/java/openjdk-28-ea+6"
+ name: "openjdk_28_ea_6"
+ - home: "F:\\jenkins\\tools\\java\\openjdk-28-ea+6"
+ name: "openjdk_28_ea_6_windows"
- home: "/home/jenkins/tools/java/adoptium_jdk_8u362_b09"
name: "adoptium_jdk_8u362_b09"
- home: "F:\\jenkins\\tools\\java\\adoptium_jdk_8u362_b09"
@@ -858,6 +819,10 @@ tool:
name: "ibm_semeru_21.0.2_13"
- home: "F:\\jenkins\\tools\\java\\ibm-semeru-21.0.2_13_openj9-0.43.0"
name: "ibm_semeru_21.0.2_13_windows"
+ - home: "/home/jenkins/tools/java/ibm-semeru-21.0.9+10-openj9-0.56.0"
+ name: "ibm_semeru_21.0.9_10"
+ - home: "F:\\jenkins\\tools\\java\\ibm-semeru-21.0.9+10-openj9-0.56.0"
+ name: "ibm_semeru_21.0.9_10_windows"
maven:
installations:
- home: "/home/jenkins/tools/maven/latest"
@@ -962,3 +927,4 @@ tool:
triggerDownstreamUponResultNotBuilt: false
triggerDownstreamUponResultSuccess: true
triggerDownstreamUponResultUnstable: false
+
diff --git a/jenkins-config-backup/jobs/FullPlatformMatrix.xml
b/jenkins-config-backup/jobs/FullPlatformMatrix.xml
new file mode 100644
index 0000000..d724f6c
--- /dev/null
+++ b/jenkins-config-backup/jobs/FullPlatformMatrix.xml
@@ -0,0 +1,84 @@
+<?xml version='1.1' encoding='UTF-8'?>
+<org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject
plugin="[email protected]_4ea_780798">
+ <actions/>
+ <description>This job builds on our main and release branches, and builds
packages on all </description>
+ <displayName>Main + Release</displayName>
+ <properties>
+ <org.jenkinsci.plugins.configfiles.folder.FolderConfigFileProperty
plugin="[email protected]">
+ <configs class="sorted-set">
+ <comparator
class="org.jenkinsci.plugins.configfiles.ConfigByIdComparator"/>
+ </configs>
+ </org.jenkinsci.plugins.configfiles.folder.FolderConfigFileProperty>
+ <org.jenkinsci.plugins.docker.workflow.declarative.FolderConfig
plugin="[email protected]_eda_7">
+ <dockerLabel></dockerLabel>
+ <registry plugin="[email protected]_94f11a_3"/>
+ </org.jenkinsci.plugins.docker.workflow.declarative.FolderConfig>
+ <com.cloudbees.hudson.plugins.folder.properties.EnvVarsFolderProperty
plugin="[email protected]">
+ <properties></properties>
+ </com.cloudbees.hudson.plugins.folder.properties.EnvVarsFolderProperty>
+ <org.jenkinsci.plugins.pipeline.maven.MavenConfigFolderOverrideProperty
plugin="[email protected]_00c04177b_b_">
+ <settings class="jenkins.mvn.DefaultSettingsProvider"/>
+ <globalSettings class="jenkins.mvn.DefaultGlobalSettingsProvider"/>
+ <override>false</override>
+ </org.jenkinsci.plugins.pipeline.maven.MavenConfigFolderOverrideProperty>
+ </properties>
+ <folderViews class="jenkins.branch.MultiBranchProjectViewHolder"
plugin="[email protected]_b_460ef">
+ <owner
class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject"
reference="../.."/>
+ </folderViews>
+ <healthMetrics>
+ <com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric
plugin="[email protected]">
+ <nonRecursive>false</nonRecursive>
+ </com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric>
+ <com.cloudbees.hudson.plugins.folder.health.AverageChildHealthMetric
plugin="[email protected]"/>
+ <com.cloudbees.hudson.plugins.folder.health.JobStatusHealthMetric
plugin="[email protected]">
+ <success>true</success>
+ <failure>true</failure>
+ <unstable>true</unstable>
+ <unbuilt>true</unbuilt>
+ <countVirginJobs>false</countVirginJobs>
+ </com.cloudbees.hudson.plugins.folder.health.JobStatusHealthMetric>
+ <com.cloudbees.hudson.plugins.folder.health.ProjectEnabledHealthMetric
plugin="[email protected]"/>
+ </healthMetrics>
+ <icon class="com.cloudbees.hudson.plugins.folder.icons.BuiltinFolderIcon"
plugin="[email protected]">
+ <baseName>star-gold</baseName>
+ </icon>
+ <orphanedItemStrategy
class="com.cloudbees.hudson.plugins.folder.computed.DefaultOrphanedItemStrategy"
plugin="[email protected]">
+ <pruneDeadBranches>true</pruneDeadBranches>
+ <daysToKeep>-1</daysToKeep>
+ <numToKeep>10</numToKeep>
+ <abortBuilds>true</abortBuilds>
+ </orphanedItemStrategy>
+ <triggers/>
+ <disabled>false</disabled>
+ <sources class="jenkins.branch.MultiBranchProject$BranchSourceList"
plugin="[email protected]_b_460ef">
+ <data>
+ <jenkins.branch.BranchSource>
+ <source
class="org.jenkinsci.plugins.github_branch_source.GitHubSCMSource"
plugin="[email protected]_d580c1a_b_a_">
+ <id>2</id>
+ <apiUri>https://api.github.com</apiUri>
+ <credentialsId>5f95d117-af3b-452a-9e5c-4bddb22a67f4</credentialsId>
+ <repoOwner>apache</repoOwner>
+ <repository>couchdb</repository>
+ <repositoryUrl>https://github.com/apache/couchdb.git</repositoryUrl>
+ <traits>
+ <org.jenkinsci.plugins.github__branch__source.BranchDiscoveryTrait>
+ <strategyId>1</strategyId>
+
</org.jenkinsci.plugins.github__branch__source.BranchDiscoveryTrait>
+ <jenkins.scm.impl.trait.WildcardSCMHeadFilterTrait
plugin="[email protected]_5c">
+ <includes>main jenkins-* 3.5.*</includes>
+ <excludes></excludes>
+ </jenkins.scm.impl.trait.WildcardSCMHeadFilterTrait>
+ </traits>
+ </source>
+ <strategy class="jenkins.branch.DefaultBranchPropertyStrategy">
+ <properties class="empty-list"/>
+ </strategy>
+ </jenkins.branch.BranchSource>
+ </data>
+ <owner
class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject"
reference="../.."/>
+ </sources>
+ <factory
class="org.jenkinsci.plugins.workflow.multibranch.WorkflowBranchProjectFactory">
+ <owner
class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject"
reference="../.."/>
+ <scriptPath>build-aux/Jenkinsfile</scriptPath>
+ </factory>
+</org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject>
diff --git a/jenkins-config-backup/jobs/PullRequests.xml
b/jenkins-config-backup/jobs/PullRequests.xml
new file mode 100644
index 0000000..307e26d
--- /dev/null
+++ b/jenkins-config-backup/jobs/PullRequests.xml
@@ -0,0 +1,81 @@
+<?xml version='1.1' encoding='UTF-8'?>
+<org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject
plugin="[email protected]_4ea_780798">
+ <actions/>
+ <description>This job builds all GitHub pull requests against
apache/couchdb.</description>
+ <displayName>Pull Requests</displayName>
+ <properties>
+ <org.jenkinsci.plugins.docker.workflow.declarative.FolderConfig
plugin="[email protected]_eda_7">
+ <dockerLabel></dockerLabel>
+ <registry plugin="[email protected]_94f11a_3">
+ <credentialsId>5f95d117-af3b-452a-9e5c-4bddb22a67f4</credentialsId>
+ </registry>
+ </org.jenkinsci.plugins.docker.workflow.declarative.FolderConfig>
+ <com.cloudbees.hudson.plugins.folder.properties.EnvVarsFolderProperty
plugin="[email protected]">
+ <properties></properties>
+ </com.cloudbees.hudson.plugins.folder.properties.EnvVarsFolderProperty>
+ <org.jenkinsci.plugins.pipeline.maven.MavenConfigFolderOverrideProperty
plugin="[email protected]_00c04177b_b_">
+ <settings class="jenkins.mvn.DefaultSettingsProvider"/>
+ <globalSettings class="jenkins.mvn.DefaultGlobalSettingsProvider"/>
+ <override>false</override>
+ </org.jenkinsci.plugins.pipeline.maven.MavenConfigFolderOverrideProperty>
+ </properties>
+ <folderViews class="jenkins.branch.MultiBranchProjectViewHolder"
plugin="[email protected]_b_460ef">
+ <owner
class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject"
reference="../.."/>
+ </folderViews>
+ <healthMetrics>
+ <com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric
plugin="[email protected]">
+ <nonRecursive>false</nonRecursive>
+ </com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric>
+ <com.cloudbees.hudson.plugins.folder.health.AverageChildHealthMetric
plugin="[email protected]"/>
+ <com.cloudbees.hudson.plugins.folder.health.JobStatusHealthMetric
plugin="[email protected]">
+ <success>true</success>
+ <failure>true</failure>
+ <unstable>true</unstable>
+ <unbuilt>true</unbuilt>
+ <countVirginJobs>false</countVirginJobs>
+ </com.cloudbees.hudson.plugins.folder.health.JobStatusHealthMetric>
+ <com.cloudbees.hudson.plugins.folder.health.ProjectEnabledHealthMetric
plugin="[email protected]"/>
+ </healthMetrics>
+ <icon class="com.cloudbees.hudson.plugins.folder.icons.BuiltinFolderIcon"
plugin="[email protected]">
+ <baseName>user</baseName>
+ </icon>
+ <orphanedItemStrategy
class="com.cloudbees.hudson.plugins.folder.computed.DefaultOrphanedItemStrategy"
plugin="[email protected]">
+ <pruneDeadBranches>true</pruneDeadBranches>
+ <daysToKeep>15</daysToKeep>
+ <numToKeep>20</numToKeep>
+ <abortBuilds>true</abortBuilds>
+ </orphanedItemStrategy>
+ <triggers/>
+ <disabled>false</disabled>
+ <sources class="jenkins.branch.MultiBranchProject$BranchSourceList"
plugin="[email protected]_b_460ef">
+ <data>
+ <jenkins.branch.BranchSource>
+ <source
class="org.jenkinsci.plugins.github_branch_source.GitHubSCMSource"
plugin="[email protected]_d580c1a_b_a_">
+ <id>1</id>
+ <apiUri>https://api.github.com</apiUri>
+ <credentialsId>5f95d117-af3b-452a-9e5c-4bddb22a67f4</credentialsId>
+ <repoOwner>apache</repoOwner>
+ <repository>couchdb</repository>
+ <repositoryUrl>https://github.com/apache/couchdb.git</repositoryUrl>
+ <traits>
+
<org.jenkinsci.plugins.github__branch__source.OriginPullRequestDiscoveryTrait>
+ <strategyId>1</strategyId>
+
</org.jenkinsci.plugins.github__branch__source.OriginPullRequestDiscoveryTrait>
+
<org.jenkinsci.plugins.github__branch__source.ForkPullRequestDiscoveryTrait>
+ <strategyId>1</strategyId>
+ <trust
class="org.jenkinsci.plugins.github_branch_source.ForkPullRequestDiscoveryTrait$TrustPermission"/>
+
</org.jenkinsci.plugins.github__branch__source.ForkPullRequestDiscoveryTrait>
+ </traits>
+ </source>
+ <strategy class="jenkins.branch.DefaultBranchPropertyStrategy">
+ <properties class="empty-list"/>
+ </strategy>
+ </jenkins.branch.BranchSource>
+ </data>
+ <owner
class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject"
reference="../.."/>
+ </sources>
+ <factory
class="org.jenkinsci.plugins.workflow.multibranch.WorkflowBranchProjectFactory">
+ <owner
class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject"
reference="../.."/>
+ <scriptPath>build-aux/Jenkinsfile</scriptPath>
+ </factory>
+</org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject>
diff --git a/jenkins-config-backup/jobs/UpdateDockerContainers.xml
b/jenkins-config-backup/jobs/UpdateDockerContainers.xml
new file mode 100644
index 0000000..0106fc6
--- /dev/null
+++ b/jenkins-config-backup/jobs/UpdateDockerContainers.xml
@@ -0,0 +1,52 @@
+<?xml version='1.1' encoding='UTF-8'?>
+<flow-definition plugin="[email protected]_423c255d6d9">
+ <actions/>
+ <description>This Pipeline job runs on all Docker-capable nodes.
+
+It ensures all of the necessary Docker images for CI work
+are downloaded and functional on every machine.</description>
+ <keepDependencies>false</keepDependencies>
+ <properties>
+ <jenkins.model.BuildDiscarderProperty>
+ <strategy class="hudson.tasks.LogRotator">
+ <daysToKeep>7</daysToKeep>
+ <numToKeep>-1</numToKeep>
+ <artifactDaysToKeep>-1</artifactDaysToKeep>
+ <artifactNumToKeep>-1</artifactNumToKeep>
+ <removeLastBuild>false</removeLastBuild>
+ </strategy>
+ </jenkins.model.BuildDiscarderProperty>
+ <org.jenkinsci.plugins.workflow.job.properties.DurabilityHintJobProperty>
+ <hint>PERFORMANCE_OPTIMIZED</hint>
+ </org.jenkinsci.plugins.workflow.job.properties.DurabilityHintJobProperty>
+ <org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
+ <triggers>
+ <hudson.triggers.TimerTrigger>
+ <spec>TZ=UTC
+H H(3-8) * * 7</spec>
+ </hudson.triggers.TimerTrigger>
+ </triggers>
+
</org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
+ </properties>
+ <definition class="org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition"
plugin="[email protected]_">
+ <script>def nodes = [:]
+
+(nodesByLabel('docker') + nodesByLabel('s390x') +
nodesByLabel('ppc64le')).each {
+ nodes[it] = { ->
+ node(it) {
+ stage("docker-prune-refresh@${it}") {
+ sh '''
+ wget -N
https://raw.githubusercontent.com/apache/couchdb-ci/main/pull-all-couchdbdev-docker
+ bash ./pull-all-couchdbdev-docker
+ '''
+ }
+ }
+ }
+}
+
+parallel nodes</script>
+ <sandbox>true</sandbox>
+ </definition>
+ <triggers/>
+ <disabled>false</disabled>
+</flow-definition>
diff --git a/jenkins-config-backup/plugin-catalog.yaml
b/jenkins-config-backup/plugin-catalog.yaml
new file mode 100644
index 0000000..c9c9e6d
--- /dev/null
+++ b/jenkins-config-backup/plugin-catalog.yaml
@@ -0,0 +1,38 @@
+type: plugin-catalog
+version: '1'
+name: jenkins
+displayName: Autogenerated catalog from jenkins
+configurations:
+- description: Exported plugins
+ includePlugins:
+ build-discarder:
+ version: 158.vce570d01ce4c
+ build-timestamp:
+ version: 1.1.1
+ cloud-stats:
+ version: 423.v63f017a_f582c
+ docker-workflow:
+ version: 634.vedc7242b_eda_7
+ embeddable-build-status:
+ version: 637.vd878e68178f8
+ jackson-annotations2-api:
+ version: 2.22-19.v10a_a_582ea_26e
+ jackson3-api:
+ version: 3.2.1-92.vd25c2e23c180
+ jclouds-jenkins:
+ version: '2.44'
+ pipeline-graph-view:
+ version: 777.vdeb_113b_b_94da_
+ pipeline-utility-steps:
+ version: 3.810.va_7672d206740
+ publish-over:
+ version: 238.v1db_583004c9b_
+ publish-over-ssh:
+ version: 390.vb_f56e7405751
+ snakeyaml-engine-api:
+ version: 3.0.1-5.vd98ea_ff3b_92e
+ timestamper:
+ version: '1.30'
+ woodstox-core-api:
+ version: 7.2.1-6.v3718a_a_11f5c4
+
diff --git a/jenkins-config-backup/plugins.yaml
b/jenkins-config-backup/plugins.yaml
new file mode 100644
index 0000000..84f4129
--- /dev/null
+++ b/jenkins-config-backup/plugins.yaml
@@ -0,0 +1,147 @@
+plugins:
+- id: antisamy-markup-formatter
+- id: apache-httpcomponents-client-4-api
+- id: asm-api
+- id: authentication-tokens
+- id: aws-credentials
+- id: aws-java-sdk-ec2
+- id: aws-java-sdk-minimal
+- id: aws-java-sdk2-core
+- id: aws-java-sdk2-ec2
+- id: aws-java-sdk2-netty-nio-client
+- id: aws-java-sdk2-s3
+- id: azure-sdk
+- id: bootstrap5-api
+- id: bouncycastle-api
+- id: branch-api
+- id: build-discarder
+- id: build-timestamp
+- id: caffeine-api
+- id: checks-api
+- id: cloud-stats
+- id: cloudbees-administrative-monitors
+- id: cloudbees-analytics
+- id: cloudbees-assurance
+- id: cloudbees-cache-step
+- id: cloudbees-casc-client
+- id: cloudbees-casc-items-api
+- id: cloudbees-casc-shared
+- id: cloudbees-folder
+- id: cloudbees-folders-plus
+- id: cloudbees-github-reporting
+- id: cloudbees-license
+- id: cloudbees-license-tracker
+- id: cloudbees-nodes-plus
+- id: cloudbees-pipeline-explorer
+- id: cloudbees-platform-common
+- id: cloudbees-plugin-usage
+- id: cloudbees-quiet-start
+- id: cloudbees-ssh-slaves
+- id: cloudbees-uc-data-api
+- id: cloudbees-unified-ui
+- id: cloudbees-workflow-aggregator
+- id: command-launcher
+- id: commons-compress-api
+- id: commons-lang3-api
+- id: commons-text-api
+- id: config-file-provider
+- id: configuration-as-code
+- id: credentials
+- id: credentials-binding
+- id: declarative-pipeline-migration-assistant
+- id: declarative-pipeline-migration-assistant-api
+- id: display-url-api
+- id: docker-commons
+- id: docker-workflow
+- id: durable-task
+- id: echarts-api
+- id: eddsa-api
+- id: embeddable-build-status
+- id: font-awesome-api
+- id: git
+- id: git-client
+- id: github
+- id: github-api
+- id: github-branch-source
+- id: gson-api
+- id: handy-uri-templates-2-api
+- id: htmlpublisher
+- id: instance-identity
+- id: ionicons-api
+- id: jackson-annotations2-api
+- id: jackson2-api
+- id: jackson3-api
+- id: jakarta-activation-api
+- id: jakarta-mail-api
+- id: jakarta-xml-bind-api
+- id: javax-activation-api
+- id: javax-mail-api
+- id: jaxb
+- id: jclouds-jenkins
+- id: jdk-tool
+- id: jjwt-api
+- id: joda-time-api
+- id: jquery3-api
+- id: jsch
+- id: json-api
+- id: json-path-api
+- id: junit
+- id: ldap
+- id: mailer
+- id: mapdb-api
+- id: metrics
+- id: mina-sshd-api-common
+- id: mina-sshd-api-core
+- id: mina-sshd-api-scp
+- id: mina-sshd-api-sftp
+- id: nectar-license
+- id: nectar-rbac
+- id: netty-api
+- id: okhttp-api
+- id: operations-center-agent
+- id: operations-center-client
+- id: operations-center-context
+- id: oss-symbols-api
+- id: pipeline-graph-view
+- id: pipeline-groovy-lib
+- id: pipeline-input-step
+- id: pipeline-maven
+- id: pipeline-maven-api
+- id: pipeline-model-api
+- id: pipeline-model-definition
+- id: pipeline-model-extensions
+- id: pipeline-stage-step
+- id: pipeline-stage-tags-metadata
+- id: pipeline-utility-steps
+- id: plain-credentials
+- id: plugin-util-api
+- id: prism-api
+- id: publish-over
+- id: publish-over-ssh
+- id: pubsub-light
+- id: scm-api
+- id: script-security
+- id: snakeyaml-api
+- id: snakeyaml-engine-api
+- id: ssh-credentials
+- id: ssh-slaves
+- id: sshd
+- id: structs
+- id: support-core
+- id: timestamper
+- id: token-macro
+- id: trilead-api
+- id: unique-id
+- id: user-activity-monitoring
+- id: variant
+- id: woodstox-core-api
+- id: workflow-api
+- id: workflow-basic-steps
+- id: workflow-cps
+- id: workflow-durable-task-step
+- id: workflow-job
+- id: workflow-multibranch
+- id: workflow-scm-step
+- id: workflow-step-api
+- id: workflow-support
+
diff --git a/jenkins-config-backup/rbac.yaml b/jenkins-config-backup/rbac.yaml
new file mode 100644
index 0000000..26a8e84
--- /dev/null
+++ b/jenkins-config-backup/rbac.yaml
@@ -0,0 +1,59 @@
+removeStrategy:
+ rbac: SYNC
+roles:
+- filterable: true
+ permissions:
+ - hudson.model.Hudson.Manage
+ - hudson.model.Computer.Connect
+ - com.cloudbees.jenkins.plugins.casc.permissions.CascPermission.Item
+ - jenkins.metrics.api.Metrics.View
+ - com.cloudbees.jenkins.plugins.casc.permissions.CascPermission.Read
+ - nectar.plugins.rbac.groups.Group.Manage
+ - hudson.model.Hudson.Administer
+ - hudson.model.Item.Cancel
+ - com.cloudbees.plugins.credentials.CredentialsProvider.View
+ - hudson.model.Computer.Delete
+ - hudson.model.Item.Build
+ - hudson.model.Item.Move
+ - com.cloudbees.jenkins.plugins.casc.permissions.CascPermission.Administer
+ - com.cloudbees.plugins.credentials.CredentialsProvider.Update
+ - hudson.model.Item.Create
+ - com.cloudbees.plugins.credentials.CredentialsProvider.Delete
+ - hudson.model.Run.Replay
+ - jenkins.metrics.api.Metrics.ThreadDump
+ - hudson.model.View.Create
+ - hudson.model.Computer.Secure
+ - hudson.model.Computer.Configure
+ - nectar.plugins.rbac.roles.Role.Filter
+ - hudson.model.Run.Update
+ - hudson.model.View.Delete
+ - hudson.model.Run.Delete
+ - hudson.model.Computer.Create
+ - com.cloudbees.plugins.credentials.CredentialsProvider.ManageDomains
+ - hudson.model.View.Configure
+ - hudson.model.Item.Promote
+ - com.cloudbees.jenkins.support.SupportPlugin.DownloadBundle
+ - hudson.model.Computer.Build
+ - hudson.model.Item.Configure
+ - hudson.model.Item.Read
+ - jenkins.metrics.api.Metrics.HealthCheck
+ - nectar.plugins.rbac.groups.Group.Create
+ - hudson.scm.SCM.Tag
+ - hudson.model.Item.Discover
+ - hudson.model.Item.ViewStatus
+ - hudson.model.Hudson.Read
+ - nectar.plugins.rbac.roles.Role.View
+ - hudson.model.Item.Workspace
+ - hudson.model.Computer.Provision
+ - nectar.plugins.rbac.groups.Group.Configure
+ - nectar.plugins.rbac.groups.Group.Delete
+ - hudson.model.View.Read
+ - hudson.model.Item.Delete
+ - com.cloudbees.plugins.credentials.CredentialsProvider.Create
+ - hudson.model.Computer.Disconnect
+ - hudson.model.Item.Request
+ - nectar.plugins.rbac.groups.Group.View
+ name: authenticated
+- filterable: true
+ name: anonymous
+
diff --git a/jenkins-config-backup/readme.md b/jenkins-config-backup/readme.md
index 4e26a5c..4716e6a 100644
--- a/jenkins-config-backup/readme.md
+++ b/jenkins-config-backup/readme.md
@@ -1,57 +1,115 @@
+This is a backed up state of the Apache CouchDB Jenkins instance
+(https://ci-couchdb.apache.org/, a CloudBees CI client controller attached to
+the https://jenkins-ccos.apache.org/ operations center).
-This is an attempt to have a backed up state of the Apache CouchDB Jenkins
instance.
+Last captured: 2026-07-27, controller version 2.541.2.35785-rolling,
+immediately after the post-migration restore was verified green.
-This became relevant since https://issues.apache.org/jira/browse/INFRA-27718 ,
when a Jenkins upgrade completely nerfed our CI pipeline and it took a bit of
effort to restore it. Most of it was having to rediscover which plugins to
reinstall and what configuration was now missing or erased.
+How to capture
+---
+Everything below is fetched while logged in to the controller. The one-stop
+endpoint is the **CloudBees CasC bundle export**:
-The files are:
+ https://ci-couchdb.apache.org/core-casc-export
- * `jenkins.yml` : Dump of
https://ci-couchdb.apache.org/manage/configuration-as-code/ with some license
and credential removed
-
- * `system_information_plugins.md` : The list of plugins from Manage Jenkins >
System Information > Plugins. Just a plain copy and paste from the browser
interface into the file.
-
-
-The general description of the main sections in Jenkins, in case the files
above don't capture it:
-
- * `Controllers > CouchDB > ci-couchdb.apache.org > CouchDB > Main + Release
> Configuration`:
- What it does: Builder for main, x.y.* and jenkins-* branches
+It returns a single text stream with `bundle.yaml`, `jenkins.yaml`,
+`plugins.yaml`, `plugin-catalog.yaml`, `rbac.yaml` and `items.yaml` sections,
+which are stored here split into files. (The OSS equivalent for just the
+system config is `POST /manage/configuration-as-code/export`, also available
+via Manage Jenkins > Configuration as Code > Download.)
+
+Job definitions are NOT included (`items.yaml` exports empty on this
+controller). Those are captured separately in config.xml:
+
+ https://ci-couchdb.apache.org/job/FullPlatformMatrix/config.xml
+ https://ci-couchdb.apache.org/job/PullRequests/config.xml
+ https://ci-couchdb.apache.org/job/Update%20Docker%20Containers/config.xml
+
+**IMPORTANT — redact before committing.** The exports contain secrets:
+
+ * Cedential's `password:`/`secret:` value (encrypted with the
+ instance key, but still a secret — and the instance key itself lives in
+ the ops-center backups),
+ * The CloudBees `license:` section: the certificate and, in PLAINTEXT, the
+ license private key
+ * `operationsCenterRootAction.connectionDetails`.
+
+Replace all of these with `"...redacted..."` (grep for `{AQ`, `BEGIN RSA`,
+`BEGIN CERTIFICATE`, `BEGIN CONNECTION DETAILS` before committing).
+
+The files
+---
+
+ * `bundle.yaml`, `jenkins.yaml`, `plugins.yaml`, `plugin-catalog.yaml`,
+ `rbac.yaml`, `items.yaml`
+ * `jobs/*.xml` : raw config.xml of the three jobs.
+
+How to restore
+---
+
+ * **Nodes**: The definitions live under `jenkins.nodes` in `jenkins.yaml`.
+
+ * **Jobs**: POST the saved config.xml to `/createItem?name=<JobName>`
+ (`Content-Type: application/xml`) [note: untested yet] or create via the UI
+ following the structure in the XML.
+
+* **Credentials**: recreate under Manage Jenkins > Credentials > System >
+ Global with the SAME IDs (IDs are referenced by the Jenkinsfile/job
+ config and are immutable after creation). Currently required:
+ `dockerhub_creds` (Username with password; Docker Hub account + read-only
+ access token). The job configs pick out some hopefully available crds for
fetching GitHub repos.
+ For example, `ASF CI for Github PRs`.
+
+General description of the jobs
+---
+
+The `jobs/*.xml` files have the details and this is a summary only
+
+ * `Main + Release` (name `FullPlatformMatrix`):
+ Builds main, release and jenkins-* branches
Branch Sources:
- GitHub with `ASF CI for Github PRs etc` credential
+ GitHub with the `ASF CI for Github PRs etc` credential
+ (`5f95d117-...`, comes from the operations center)
Repository URL: https://github.com/apache/couchdb.git
Discover branches
- Strategy > "Exclude branches that are also filed as PRs"
+ Strategy: "Exclude branches that are also filed as PRs"
Filter by name: `main jenkins-* 3.5.*`
Build configuration:
by Jenkinsfile, script path: `build-aux/Jenkinsfile`
Orphaned Item Strategy:
Abort builds
- Discard old items
- Max # of old items to keep: `10`
-
- * `Controllers > CouchDB > ci-couchdb.apache.org > CouchDB > Pull Requests >
Configuration`:
- What it does: Builds pull requests
+ Discard old items, max # of old items to keep: `10`
+
+ * `Pull Requests` (name `PullRequests`):
+ Builds pull requests against apache/couchdb
Branch Sources:
- GitHub with `ASF CI for Github PRs etc` credential
+ GitHub with the `ASF CI for Github PRs etc` credential
Repository URL: https://github.com/apache/couchdb.git
Discover pull requests from origin
- Strategy > "Merging the pull request with the current target branch"
+ Strategy: "Merging the pull request with the current target branch"
Discover pull requests from forks
- Strategy > "Merging the pull request with the current target branch"
+ Strategy: "Merging the pull request with the current target branch"
Trust: "From users with Admin or Write permissions"
- Orphaned Item Strategy:
- Abort builds
+ Build configuration:
+ by Jenkinsfile, script path: `build-aux/Jenkinsfile`
+ Orphaned Item Strategy:
+ Abort builds
Discard old items
Days to keep old items: `15`
- Max # of old items to keep: `25`
+ Max # of old items to keep: `20`
- * `Controllers > CouchDB > ci-couchdb.apache.org > CouchDB > Update Docker
Containers`
- What it does: Pull recent docker CI images to the nodes and prunes unused
one.
+ * `Update Docker Containers`:
+ Pulls recent docker CI images to the nodes and prunes
+ unused ones. Weekly, Sundays 03:00-08:59 UTC.
Build periodically:
- Schedule:
+ Schedule:
```
TZ=UTC
H H(3-8) * * 7
```
+ Discard old builds: 7 days
+ Pipeline speed/durability override: Performance-optimized
Pipeline script:
```
def nodes = [:]
@@ -68,10 +126,4 @@ The general description of the main sections in Jenkins, in
case the files above
}
}
}
-
- parallel nodes
```
- Pipeline speed/durability override:
- Custom Pipeline Speed/Durability level:
- Performance-optimized
-
diff --git a/jenkins-config-backup/system_information_plugins.md
b/jenkins-config-backup/system_information_plugins.md
deleted file mode 100644
index 9563423..0000000
--- a/jenkins-config-backup/system_information_plugins.md
+++ /dev/null
@@ -1,140 +0,0 @@
-
-From https://ci-couchdb.apache.org/manage/systemInfo
-
-Name Version Enabled
-```
-Amazon Web Services SDK 2 :: Core 2.33.4-62.vc1a_8df64b_4c9 true
-Amazon Web Services SDK 2 :: EC2 2.33.4-62.vc1a_8df64b_4c9 true
-Amazon Web Services SDK :: EC2 1.12.780-480.v4a_0819121a_9e true
-Amazon Web Services SDK :: Minimal 1.12.780-480.v4a_0819121a_9e true
-Apache HttpComponents Client 4.x API Plugin 4.5.14-269.vfa_2321039a_83
true
-ASM API Plugin 9.9.1-189.vb_5ef2964da_91 true
-Authentication Tokens API Plugin 1.144.v5ff4a_5ec5c33 true
-AWS Credentials Plugin 254.v978a_5e206a_d7 true
-Beekeeper Upgrade Assistant Plugin 2.1221 true
-Bootstrap 5 API Plugin 5.3.8-895.v4d0d8e47fea_d true
-bouncycastle API Plugin 2.30.1.82-277.v70ca_0b_877184 true
-Branch API Plugin 2.1280.v0d4e5b_b_460ef true
-Build Discarder Plugin 158.vce570d01ce4c true
-Build Timestamp Plugin 1.1.1 true
-Caffeine API Plugin 3.2.3-194.v31a_b_f7a_b_5a_81 true
-Checks API plugin 402.vca_263b_f200e3 true
-Cloud Statistics Plugin 377.vd8a_6c953e98e true
-CloudBees Administrative Monitors Plugin 174 true
-CloudBees Analytics Plugin 1.890 true
-CloudBees Cache Step Plugin 342 true
-CloudBees CasC Client Plugin 2.5478 true
-CloudBees CasC Items API Plugin 2.5478 true
-CloudBees CasC Shared Plugin 2.5478 true
-CloudBees Folders Plus Plugin 3.535 true
-CloudBees Jenkins Enterprise License Entitlement Check 675 true
-CloudBees License Manager 1316 true
-CloudBees License Tracker Plugin 1.1040 true
-CloudBees Nodes Plus Plugin 245 true
-CloudBees Pipeline (Deprecated) 1.9.1 true
-CloudBees Pipeline Explorer 1.3939 false
-CloudBees Platform Common Plugin 1.438 true
-CloudBees Plugin Usage Analyzer Plugin 2.561 true
-CloudBees Quiet Start Plugin 1.108 true
-CloudBees Role-Based Access Control Plugin 1862 true
-CloudBees SCM Reporting Plugin 1.871 true
-CloudBees SSH Build Agents Plugin 377 true
-CloudBees Unified UI Plugin 1.1141 true
-CloudBees Update Center Data API 4.701 true
-Command Agent Launcher Plugin 123.v37cfdc92ef67 true
-Commons Compress API 1.28.0-2 true
-commons-lang3 v3.x Jenkins API Plugin 3.20.0-109.ve43756e2d2b_4 true
-commons-text API Plugin 1.15.0-210.v7480a_da_70b_9e true
-Config File Provider Plugin 1006.vc7366c201f57 true
-Configuration as Code Plugin 2036.v0b_c2de701dcb_ true
-Credentials Binding Plugin 702.vfe613e537e88 true
-Credentials Plugin 1480.v2246fd131e83 true
-Declarative Pipeline Migration Assistant API 1.6.6 true
-Dev Tools Symbols API Plugin 442.v99039087229b_ true
-Display URL API 2.217.va_6b_de84cc74b_ true
-Docker Commons Plugin 457.v0f62a_94f11a_3 true
-Docker Pipeline 634.vedc7242b_eda_7 true
-Durable Task Plugin 651.v1f5e074fc83f true
-ECharts API Plugin 6.0.0-1165.vd1283a_3e37d4 true
-EDDSA API Plugin 0.3.0.1-29.v67e9a_1c969b_b_ true
-Folders Plugin 6.1079.vc0975c2de294 true
-Font Awesome API Plugin 7.1.0-882.v1dfb_771e3278 true
-Git client plugin 6.5.0 true
-Git plugin 5.9.0 true
-GitHub API Plugin 1.330-492.v3941a_032db_2a_ true
-GitHub Branch Source Plugin 1967.vdea_d580c1a_b_a_ true
-GitHub plugin 1.45.0 true
-Gson API Plugin 2.13.2-173.va_a_092315913c true
-Handy Uri Templates 2.x API Plugin 2.1.8-38.vcea_5d521d5f3 true
-HTML Publisher plugin 427 true
-Infrastructure plugin for Publish Over X 238.v1db_583004c9b_ true
-Instance Identity 203.v15e81a_1b_7a_38 true
-Ionicons API 94.vcc3065403257 true
-Jackson 2 API Plugin 2.20.1-423.v13951f6b_6532 true
-Jakarta Activation API 2.1.4-1 true
-Jakarta Mail API 2.1.5-1 true
-Jakarta XML Binding API 4.0.6-12.vb_1833c1231d3 true
-Java JSON Web Token (JJWT) Plugin 0.11.5-120.v0268cf544b_89 true
-JavaBeans Activation Framework (JAF) API 1.2.0-8 true
-JavaMail API 1.6.2-11 true
-JAXB plugin 2.3.9-143.v5979df3304e6 true
-JClouds plugin 2.44 true
-Joda Time API Plugin 2.14.0-177.vd7e9347b_e7d5 true
-JQuery3 API Plugin 3.7.1-619.vdb_10e002501a_ true
-JSch dependency plugin 0.2.16-95.v3eecb_55fa_b_78 true
-JSON Api Plugin 20251224-185.v0cc18490c62c true
-JSON Path API Plugin 2.10.0-202.va_9cc16c1e476 true
-JUnit Plugin 1396.v095840ed8491 true
-Mailer Plugin 525.v2458b_d8a_1a_71 true
-MapDB API Plugin 1.0.9-44.va_1e1310c9118 true
-Metrics Plugin 4.2.37-494.v06f9a_939d33a_ true
-Mina SSHD API :: Common 2.16.0-167.va_269f38cc024 true
-Mina SSHD API :: Core 2.16.0-167.va_269f38cc024 true
-Mina SSHD API :: SCP 2.16.0-167.va_269f38cc024 true
-Mina SSHD API :: SFTP 2.16.0-167.va_269f38cc024 true
-OkHttp Plugin 4.12.0-195.vc02552c04ffd true
-Operations Center Agent 3.28126 true
-Operations Center Client Plugin 3.28126 true
-Operations Center Context 3.28126 true
-Oracle Java SE Development Kit Installer Plugin 83.v417146707a_3d
true
-OWASP Markup Formatter Plugin 173.v680e3a_b_69ff3 true
-Pipeline Graph View Plugin 777.vdeb_113b_b_94da_ true
-Pipeline Maven Integration Plugin 1611.v6a_00c04177b_b_ true
-Pipeline Maven Plugin API 1611.v6a_00c04177b_b_ true
-Pipeline Utility Steps 2.20.0 true
-Pipeline: API 1398.v67030756d3fb_ true
-Pipeline: Basic Steps 1098.v808b_fd7f8cf4 true
-Pipeline: Declarative 2.2277.v00573e73ddf1 true
-Pipeline: Declarative Extension Points API 2.2277.v00573e73ddf1 true
-Pipeline: Groovy 4255.vd9c37f80fd8a_ true
-Pipeline: Groovy Libraries 787.ve2fef0efdca_6 true
-Pipeline: Input Step 540.v14b_100d754dd true
-Pipeline: Job 1571.vb_423c255d6d9 true
-Pipeline: Model API 2.2277.v00573e73ddf1 true
-Pipeline: Multibranch 821.vc3b_4ea_780798 true
-Pipeline: Nodes and Processes 1464.v2d3f5c68f84c true
-Pipeline: SCM Step 466.va_d69e602552b_ true
-Pipeline: Stage Step 322.vecffa_99f371c true
-Pipeline: Stage Tags Metadata 2.2277.v00573e73ddf1 true
-Pipeline: Step API 710.v3e456cc85233 true
-Pipeline: Supporting APIs 1015.v785e5a_b_b_8b_22 true
-Plain Credentials Plugin 199.v9f8e1f741799 true
-Plugin Utilities API Plugin 6.1192.v30fe6e2837ff true
-Prism API Plugin 1.30.0-703.v116fb_3b_5b_b_a_a_ true
-Pub-Sub "light" Bus 1.19 true
-Publish Over SSH 390.vb_f56e7405751 true
-SCM API Plugin 724.v7d839074eb_5c true
-Script Security Plugin 1399.ve6a_66547f6e1 true
-SnakeYAML API Plugin 2.5-143.v93b_c004f89de true
-SSH Build Agents plugin 3.1096.v0b_cc466e4323 true
-SSH Credentials Plugin 361.vb_f6760818e8c true
-SSH server 3.374.v19b_d59ce6610 true
-Structs Plugin 362.va_b_695ef4fdf9 true
-Support Core Plugin 1801.v76b_389d2deec true
-Timestamper 1.30 true
-Token Macro Plugin 477.vd4f0dc3cb_cf1 true
-Trilead API Plugin 2.284.v1974ea_324382 true
-Unique ID Library Plugin 2.125.vf125c93a_f982 true
-User Activity Monitoring Plugin 2.436 true
-Variant Plugin 70.va_d9f17f859e0 true
-```