This is an automated email from the ASF dual-hosted git repository. vatamane pushed a commit to branch jenkins-setup-backup in repository https://gitbox.apache.org/repos/asf/couchdb-ci.git
commit 319ed7b0be4c7b0efc23bca93ae3d028042803fd Author: Nick Vatamaniuc <[email protected]> AuthorDate: Wed Mar 11 14:35:34 2026 -0400 Attempt to record some of the Jenkins CI setup We had a recent case where on Jenkins upgrade our CI broke and it took a while to figure it out how to restore it from scratch (missing plugins, wiped configuration settings, etc). This is an attempt to record some of the configuration in a repo to next time it could be used as a reference (diff against jenkins.yaml, or just retrace steps manually). --- jenkins-config-backup/jenkins.yaml | 964 +++++++++++++++++++++ jenkins-config-backup/readme.md | 77 ++ .../system_information_plugins.md | 140 +++ 3 files changed, 1181 insertions(+) diff --git a/jenkins-config-backup/jenkins.yaml b/jenkins-config-backup/jenkins.yaml new file mode 100644 index 0000000..b2a2a86 --- /dev/null +++ b/jenkins-config-backup/jenkins.yaml @@ -0,0 +1,964 @@ +configuration-as-code: { + } +credentials: + folder: { + } + operationsCenter: { + } + providerImpl: { + } + system: + domainCredentials: + - credentials: + - string: + description: "Admin access to ASF Github repo hooks" + id: "jenkins-cm1-pr-hooks" + scope: GLOBAL + secret: "...redacted..." + domain: { + } + user: { + } +jenkins: + authorizationStrategy: "cloudBeesRoleBasedAccessControl" + crumbIssuer: + standard: + 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" + - name: "couchdb-freebsd-arm64" + - name: "couchdb-freebsd-x86" + - name: "couchdb-macos-arm64" + - name: "couchdb-worker-x86-64-ubuntu-dal-1-01" + - name: "couchdb-worker-x86-64-ubuntu-dal-1-02" + - name: "couchdb-worker-x86-64-ubuntu-dal-1-03" + - name: "couchdb-worker-x86-64-ubuntu-dal-1-04" + - name: "couchdb-worker-x86-64-ubuntu-dal-1-05" + - name: "couchdb-worker-x86-64-ubuntu-dal-1-06" + - name: "couchdb-worker-x86-64-ubuntu-dal-1-07" + - name: "couchdb-worker-x86-64-ubuntu-dal-1-08" + - name: "docker" + - name: "docker-arm64" + - name: "freebsd-arm64" + - name: "freebsd-x86_64" + - name: "linux1" + - name: "macos" + - name: "ppc64le" + - name: "s390x" + - name: "ubuntu" + - name: "ubuntu-fra1-10" + - name: "ubuntu-fsn-1-09" + - name: "ubuntu-nc-arm64-12" + - name: "ubuntu-nc-x86-11" + - name: "win" + - name: "win2022" + log: { + } + markupFormatter: + rawHtml: + disableSyntaxHighlighting: false + mode: NORMAL + noUsageStatistics: true + nodeMonitors: + - "architecture" + - "clock" + - diskSpace: + freeSpaceThreshold: "1GB" + freeSpaceWarningThreshold: "2GB" + - "swapSpace" + - tmpSpace: + freeSpaceThreshold: "1GB" + freeSpaceWarningThreshold: "2GB" + - "responseTime" + nodes: + - permanent: + labelString: "docker-arm64" + launcher: + inbound: + workDirSettings: + disabled: false + failIfWorkDirIsMissing: false + 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: + labelString: "freebsd-arm64" + launcher: + inbound: + workDirSettings: + disabled: false + failIfWorkDirIsMissing: false + internalDir: "remoting" + name: "couchdb-freebsd-arm64" + nodeDescription: "FreeBSD Build Node" + nodeProperties: + - envVars: + env: + - key: "MAVEN_OPTS" + value: "" + remoteFS: "/home/jenkins" + retentionStrategy: "always" + - permanent: + labelString: "freebsd-x86_64" + launcher: + inbound: + workDirSettings: + disabled: false + failIfWorkDirIsMissing: false + internalDir: "remoting" + name: "couchdb-freebsd-x86" + nodeDescription: "FreeBSD Build Node" + nodeProperties: + - envVars: + env: + - key: "CC" + value: "clang" + - key: "CPP" + value: "clang++" + - key: "MAVEN_OPTS" + value: "" + remoteFS: "/home/jenkins" + retentionStrategy: "always" + - permanent: + labelString: "macos" + launcher: + inbound: + workDirSettings: + disabled: false + failIfWorkDirIsMissing: false + internalDir: "remoting" + name: "couchdb-macos-arm64" + nodeProperties: + - envVars: + env: + - key: "PATH+HOMEBREW_BIN" + value: "/opt/homebrew/bin" + - key: "PATH+HOMEBREW_SBIN" + value: "/opt/homebrew/sbin" + remoteFS: "/Users/jenkins2" + retentionStrategy: "always" + - permanent: + labelString: "docker" + launcher: + inbound: + workDirSettings: + disabled: false + failIfWorkDirIsMissing: false + internalDir: "remoting" + name: "couchdb-worker-x86-64-ubuntu-dal-1-01" + nodeProperties: + - envVars: + env: + - key: "MAVEN_OPTS" + value: "" + remoteFS: "/home/jenkins" + retentionStrategy: "always" + - permanent: + labelString: "docker" + launcher: + inbound: + workDirSettings: + disabled: false + failIfWorkDirIsMissing: false + internalDir: "remoting" + name: "couchdb-worker-x86-64-ubuntu-dal-1-02" + nodeProperties: + - envVars: + env: + - key: "MAVEN_OPTS" + value: "" + remoteFS: "/home/jenkins" + retentionStrategy: "always" + - permanent: + labelString: "docker" + launcher: + inbound: + workDirSettings: + disabled: false + failIfWorkDirIsMissing: false + internalDir: "remoting" + name: "couchdb-worker-x86-64-ubuntu-dal-1-03" + nodeProperties: + - envVars: + env: + - key: "MAVEN_OPTS" + value: "" + remoteFS: "/home/jenkins" + retentionStrategy: "always" + - permanent: + labelString: "docker" + launcher: + inbound: + workDirSettings: + disabled: false + failIfWorkDirIsMissing: false + internalDir: "remoting" + name: "couchdb-worker-x86-64-ubuntu-dal-1-04" + nodeProperties: + - envVars: + env: + - key: "MAVEN_OPTS" + value: "" + remoteFS: "/home/jenkins" + retentionStrategy: "always" + - permanent: + labelString: "docker" + launcher: + inbound: + workDirSettings: + disabled: false + failIfWorkDirIsMissing: false + internalDir: "remoting" + name: "couchdb-worker-x86-64-ubuntu-dal-1-05" + nodeProperties: + - envVars: + env: + - key: "MAVEN_OPTS" + value: "" + remoteFS: "/home/jenkins" + retentionStrategy: "always" + - permanent: + labelString: "docker" + launcher: + inbound: + workDirSettings: + disabled: false + failIfWorkDirIsMissing: false + internalDir: "remoting" + name: "couchdb-worker-x86-64-ubuntu-dal-1-06" + nodeProperties: + - envVars: + env: + - key: "MAVEN_OPTS" + value: "" + remoteFS: "/home/jenkins" + retentionStrategy: "always" + - permanent: + labelString: "docker" + launcher: + inbound: + workDirSettings: + disabled: false + 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: + labelString: "docker" + launcher: + inbound: + workDirSettings: + disabled: false + failIfWorkDirIsMissing: false + internalDir: "remoting" + name: "couchdb-worker-x86-64-ubuntu-dal-1-08" + nodeProperties: + - envVars: + env: + - key: "MAVEN_OPTS" + value: "" + remoteFS: "/home/jenkins" + retentionStrategy: "always" + - permanent: + labelString: "s390x" + launcher: + inbound: + workDirSettings: + disabled: false + failIfWorkDirIsMissing: false + internalDir: "remoting" + mode: EXCLUSIVE + name: "linux1" + nodeDescription: "Z Linux s390x" + nodeProperties: + - envVars: + env: + - key: "MAVEN_OPTS" + value: "" + remoteFS: "/home/jenkins" + retentionStrategy: "always" + - permanent: + labelString: "ppc64le" + launcher: + inbound: + workDirSettings: + disabled: false + failIfWorkDirIsMissing: false + internalDir: "remoting" + name: "ubuntu" + nodeDescription: "PPC64LE (Power)" + nodeProperties: + - envVars: + env: + - key: "MAVEN_OPTS" + value: "" + remoteFS: "/home/jenkins" + retentionStrategy: "always" + - permanent: + labelString: "docker" + launcher: + inbound: + workDirSettings: + disabled: false + failIfWorkDirIsMissing: false + internalDir: "remoting" + name: "ubuntu-fra1-10" + nodeDescription: "Ubuntu x86_64. Donated by Digital Ocean" + nodeProperties: + - envVars: + env: + - key: "MAVEN_OPTS" + value: "" + remoteFS: "/home/jenkins" + retentionStrategy: "always" + - permanent: + labelString: "docker" + launcher: + inbound: + workDirSettings: + disabled: false + failIfWorkDirIsMissing: false + 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: + labelString: "docker-arm64" + launcher: + inbound: + workDirSettings: + disabled: false + failIfWorkDirIsMissing: false + internalDir: "remoting" + name: "ubuntu-nc-arm64-12" + nodeDescription: "Ubuntu arm64. Donated by Netcup." + nodeProperties: + - envVars: + env: + - key: "MAVEN_OPTS" + value: "" + remoteFS: "/home/jenkins" + retentionStrategy: "always" + - permanent: + labelString: "docker" + launcher: + inbound: + workDirSettings: + disabled: false + failIfWorkDirIsMissing: false + internalDir: "remoting" + name: "ubuntu-nc-x86-11" + nodeDescription: "Ubuntu x86_64. Donated by Netcup." + nodeProperties: + - envVars: + env: + - key: "MAVEN_OPTS" + value: "" + remoteFS: "/home/jenkins" + retentionStrategy: "always" + - permanent: + labelString: "win" + launcher: + inbound: + workDirSettings: + disabled: false + failIfWorkDirIsMissing: true + internalDir: "remoting" + mode: EXCLUSIVE + name: "win2022" + nodeProperties: + - envVars: + env: + - key: "MAVEN_OPTS" + value: "" + remoteFS: "C:\\tools\\jenkins-agent\\" + retentionStrategy: "always" + numExecutors: 0 + primaryView: + all: + name: "all" + projectNamingStrategy: "standard" + quietPeriod: 5 + remotingSecurity: + enabled: true + scmCheckoutRetryCount: 0 + securityRealm: "operationsCenter" + slaveAgentPort: 50000 + systemMessage: |- + <a href="http://www.apache.org/"><img src="https://www.apache.org/images/asf_logo_wide_2016.png" /></a> + <p> + This is a public build and test server for <a href="http://projects.apache.org/">projects</a> of the + <a href="http://www.apache.org/">Apache Software Foundation</a>. All times on this server are UTC. + </p> + <p> + See the <a href="https://cwiki.apache.org/confluence/display/INFRA/Jenkins">Jenkins wiki page</a> for more information + about this service. + </p> + <p>Information about each client controller, including node labels can be found <a href="https://cwiki.apache.org/confluence/display/INFRA/ASF+Cloudbees+Operations+Center">Here</a></p> + <p style='font-weight:bold;text-align:center'>NOTE: All Jenkins Controllers are scheduled for plugin upgrades and a safe restart + every 1st Sunday of the month.</p> + updateCenter: + sites: + - id: "core-cm-offline" + url: "file:/home/jenkins/tools/tomcat/apache-tomcat-10.1.50/webapps/ROOT/WEB-INF/plugins/update-center.json" + - id: "cap-core-cm" + url: "https://jenkins-updates.cloudbees.com/update-center/envelope-core-cm/update-center.json" + views: + - all: + name: "all" + viewsTabBar: "standard" +beekeeper: + enabled: true + securityWarnings: + enabledForCore: true + enabledForPlugins: true + upgrades: + autoDowngradePlugins: false + autoUpgradePlugins: true +license: + certificate: "...redacted..." + key: "...redacted..." +support: + automatedBundleConfiguration: + componentIds: + - "SegmentClientEventsComponent" + - "CloudBeesAssuranceSupport" + - "CascScmRetrieverSupport" + - "CloudBeesCasCUpdateLogBundlesSupport" + - "AgentsConfigFile" + - "ConfigFileComponent" + - "OtherConfigFilesComponent" + - "AboutBrowser" + - "AboutJenkins" + - "AboutUser" + - "AdministrativeMonitors" + - "BuildQueue" + - "CustomLogs" + - "DumpExportTable" + - "EnvironmentVariables" + - "FileDescriptorLimit" + - "GCLogs" + - "HeapUsageHistogram" + - "ItemsContent" + - "AgentsJVMProcessSystemMetricsContents" + - "MasterJVMProcessSystemMetricsContents" + - "JenkinsLogs" + - "LoadStats" + - "LoggerManager" + - "Metrics" + - "NetworkInterfaces" + - "NodeExecutors" + - "NodeMonitors" + - "OtherLogs" + - "ProxyConfiguration" + - "ReverseProxy" + - "RootCAs" + - "RunningBuilds" + - "SlaveCommandStatistics" + - "SlaveLaunchLogs" + - "SlaveLogs" + - "AgentsSystemConfiguration" + - "MasterSystemConfiguration" + - "SystemProperties" + - "TaskLogs" + - "ThreadDumps" + - "UpdateCenter" + - "UserCount" + - "SlowRequestComponent" + - "SlowRequestThreadDumpsComponent" + - "ShutdownComponent" + - "StartupComponent" + - "HighLoadComponent" + - "DeadlockRequestComponent" + - "OperationsCenterSupportComponent" + - "UserActivityComponent" + - "PipelineInternalCalls" + - "PipelineTimings" + - "PipelineThreadDump" + enabled: true + period: 1 +globalCredentialsConfiguration: + configuration: + providerFilter: "none" + typeFilter: "none" +appearance: + consoleUrlProvider: { + } + pipelineGraphView: + showGraphOnBuildPage: false + showGraphOnJobPage: false + showStageDurations: false + showStageNames: false + prism: + theme: PRISM +security: + anonymizeSupportBundle: + enabled: false + apiToken: + creationOfLegacyTokenEnabled: false + tokenGenerationOnCreationEnabled: false + usageStatisticsEnabled: true + apiTokenProperty: { + } + contentSecurityPolicy: + enforce: false + cps: + hideSandbox: false + crumb: { + } + gitHooks: + allowedOnAgents: false + allowedOnController: false + gitHostKeyVerificationConfiguration: + sshHostKeyVerificationStrategy: "knownHostsFileVerificationStrategy" + operationsCenterSecurityInfo: { + } + prism: + protectSourceCodeByPermission: false + queueItemAuthenticator: { + } + 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: { + } + artifactManager: { + } + blobStorePublisher: { + } + buildDiscarders: + configuredBuildDiscarders: + - "jobBuildDiscarder" + buildTimestamp: + enableBuildTimestamp: true + pattern: "yyyy-MM-dd HH:mm:ss z" + timezone: "Etc/UTC" + bundleUpdateTiming: + automaticReload: false + automaticRestart: false + rejectWarnings: false + reloadAlwaysOnRestart: false + skipNewVersions: false + casCGlobalConfig: { + } + cascItemsConfiguration: + variableInterpolationEnabledForAdmin: false + variableInterpolationEnabledForNonAdmin: false + cloudBeesSCMReporting: + enabled: true + cloudbeesPlatform: { + } + computerRetentionCheckInterval: { + } + configuration: { + } + defaultDisplayUrlProvider: { + } + defaultFolderConfiguration: + healthMetrics: + - worstChildHealthMetric: + recursive: true + - "averageChildHealthMetric" + - jobStatusHealthMetric: + countVirginJobs: false + failure: true + success: true + unbuilt: true + unstable: true + - "projectEnabledHealthMetric" + defaultView: { + } + envVarsFilter: { + } + experimentalPlugins: + enabled: false + fingerprints: + fingerprintCleanupDisabled: false + storage: "file" + 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 + globalLibraries: { + } + globalUntrustedLibraries: { + } + headerLabel: { + } + headerSupportRequestLink: { + } + junitTestResultStorage: + storage: "file" + location: + adminAddress: "Apache Jenkins Server <[email protected]>" + url: "https://ci-couchdb.apache.org/" + mailer: + charset: "UTF-8" + defaultSuffix: "@apache.org" + smtpHost: "localhost" + smtpPort: "25" + useSsl: false + useTls: false + metricsAccessKey: { + } + myView: { + } + nodeProperties: { + } + operationsCenterRootAction: + connectionDetails: "...redacted..." + pipeline-model-docker: + registry: { + } + plugin: { + } + pollSCM: + pollingThreadCount: 10 + projectNamingStrategy: { + } + provisioningLimitConfiguration: { + } + proxyConfigurationManager: { + } + quietPeriod: { + } + quietStartConfiguration: + activated: false + resourceRoot: { + } + scmGit: + addGitTagAction: false + allowSecondFetch: false + createAccountBasedOnEmail: false + disableGitToolChooser: false + hideCredentials: false + showEntireCommitSummaryInChanges: false + useExistingAccountWithSameEmail: false + scmRetryCount: { + } + shell: { + } + sshPublisher: { + } + timestamper: + allPipelines: false + elapsedTimeFormat: "'<b>'HH:mm:ss.S'</b> '" + systemTimeFormat: "'<b>'HH:mm:ss'</b> '" + usageStatistics: { + } + usageStatisticsCloudBees: + disabledJenkinsUsageStatistics: true + usageStatisticsCollected: true + validationVisualization: + quiet: false + viewsTabBar: { + } + workspaceCache: + cacheManager: "none" +tool: + cloudbeesPluginUsageAnalyzer: + enabled: true + git: + installations: + - home: "git" + name: "Default" + jdk: + installations: + - home: "/home/jenkins/tools/java/latest1.8" + name: "jdk_1.8_latest" + - home: "F:\\jenkins\\tools\\java\\latest1.8" + name: "jdk_1.8_latest_windows" + - home: "/home/jenkins/tools/java/latest11" + name: "jdk_11_latest" + - home: "F:\\jenkins\\tools\\java\\latest11" + name: "jdk_11_latest_windows" + - home: "/home/jenkins/tools/java/latest17" + name: "jdk_17_latest" + - home: "F:\\jenkins\\tools\\java\\latest17" + name: "jdk_17_latest_windows" + - home: "/home/jenkins/tools/java/latest19" + name: "jdk_19_latest" + - home: "F:\\jenkins\\tools\\java\\latest19" + name: "jdk_19_latest_windows" + - home: "/home/jenkins/tools/java/latest20" + name: "jdk_20_latest" + - home: "F:\\jenkins\\tools\\java\\latest20" + name: "jdk_20_latest_windows" + - home: "/home/jenkins/tools/java/latest21" + name: "jdk_21_latest" + - home: "F:\\jenkins\\tools\\java\\latest21" + name: "jdk_21_latest_windows" + - home: "/home/jenkins/tools/java/latest22" + name: "jdk_22_latest" + - home: "F:\\jenkins\\tools\\java\\latest22" + name: "jdk_22_latest_windows" + - home: "/home/jenkins/tools/java/latest23" + name: "jdk_23_latest" + - home: "F:\\jenkins\\tools\\java\\latest23" + name: "jdk_23_latest_windows" + - home: "/home/jenkins/tools/java/latest24" + name: "jdk_24_latest" + - home: "F:\\jenkins\\tools\\java\\latest24" + name: "jdk_24_latest_windows" + - home: "/home/jenkins/tools/java/latest25" + name: "jdk_25_latest" + - home: "F:\\jenkins\\tools\\java\\latest25" + name: "jdk_25_latest_windows" + - home: "/home/jenkins/tools/java/latest26" + name: "jdk_26_latest" + - home: "F:\\jenkins\\tools\\java\\latest26" + name: "jdk_26_latest_windows" + - home: "/home/jenkins/tools/java/latest27" + name: "jdk_27_latest" + - home: "F:\\jenkins\\tools\\java\\latest27" + name: "jdk_27_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" + name: "oracle_jdk_1.8.0_291_windows" + - home: "/home/jenkins/tools/java/oraclejdk-11.0.12" + name: "oracle_jdk_11.0.12" + - home: "F:\\jenkins\\tools\\java\\oraclejdk-11.0.12" + name: "oracle_jdk_11.0.12_windows" + - home: "/home/jenkins/tools/java/oraclejdk-17.0.1" + name: "oracle_jdk_17.0.1" + - home: "F:\\jenkins\\tools\\java\\oraclejdk-17.0.1" + name: "oracle_jdk_17.0.1_windows" + - home: "/home/jenkins/tools/java/openjdk-22-ea+20" + name: "openjdk_22_ea_20" + - home: "F:\\jenkins\\tools\\java\\openjdk-22-ea+20" + name: "openjdk_22_ea_20_windows" + - home: "/home/jenkins/tools/java/openjdk-23-ea+7" + name: "openjdk_23_ea_7" + - home: "F:\\jenkins\\tools\\java\\openjdk-23-ea+7" + name: "openjdk_23_ea_7_windows" + - home: "/home/jenkins/tools/java/openjdk-24-ea+2" + name: "openjdk_24_ea_2" + - home: "F:\\jenkins\\tools\\java\\openjdk-24-ea+2" + name: "openjdk_24_ea_2_windows" + - home: "/home/jenkins/tools/java/openjdk-25-ea+16" + name: "openjdk_25_ea_16" + - home: "F:\\jenkins\\tools\\java\\openjdk-25-ea+16" + name: "openjdk_25_ea_16_windows" + - home: "/home/jenkins/tools/java/openjdk-26-ea+2" + name: "openjdk_26_ea_2" + - home: "F:\\jenkins\\tools\\java\\openjdk-26-ea+2" + name: "openjdk_26_ea_2_windows" + - home: "/home/jenkins/tools/java/openjdk-27-ea+1" + 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/adoptium_jdk_8u362_b09" + name: "adoptium_jdk_8u362_b09" + - home: "F:\\jenkins\\tools\\java\\adoptium_jdk_8u362_b09" + name: "adoptium_jdk_8u362_b09_windows" + - home: "/home/jenkins/tools/java/adoptium-jdk-11.0.24+8" + name: "adoptium_jdk_11.0.24_8" + - home: "F:\\jenkins\\tools\\java\\adoptium-jdk-11.0.24+8" + name: "adoptium_jdk_11.0.24_8_windows" + - home: "/home/jenkins/tools/java/adoptium-jdk-19.0.2+7" + name: "adoptium_jdk_19.0.2_7" + - home: "F:\\jenkins\\tools\\java\\adoptium-jdk-19.0.2+7" + name: "adoptium_jdk_19.0.2_7_windows" + - home: "/home/jenkins/tools/java/adoptium-jdk-20+36" + name: "adoptium_jdk_20_36" + - home: "F:\\jenkins\\tools\\java\\adoptium-jdk-20+36" + name: "adoptium_jdk_20_36_windows" + - home: "/home/jenkins/tools/java/adoptium-jdk-21.0.4+7" + name: "adoptium_jdk_21.0.4_7" + - home: "F:\\jenkins\\tools\\java\\adoptium-jdk-21.0.4+7" + name: "adoptium_jdk_21.0.4_7_windows" + - home: "/home/jenkins/tools/java/adoptium-jdk-23.0.1+11" + name: "adoptium_jdk_23.0.1_11" + - home: "F:\\jenkins\\tools\\java\\adoptium-jdk-23.0.1+11" + name: "adoptium_jdk_23.0.1_11_windows" + - home: "/home/jenkins/tools/java/adoptium-jdk-23.0.2+7" + name: "adoptium_jdk_23.0.2_7" + - home: "F:\\jenkins\\tools\\java\\adoptium-jdk-23.0.2+7" + name: "adoptium_jdk_23.0.2_7_windows" + - home: "/home/jenkins/tools/java/adoptium-jdk-24.0.1+9" + name: "adoptium_jdk_24.0.1_9" + - home: "F:\\jenkins\\tools\\java\\adoptium-jdk-24.0.1+9" + name: "adoptium_jdk_24.0.1_9_windows" + - home: "/home/jenkins/tools/java/adoptium-jdk-25.0.1+8" + name: "adoptium_jdk_25.0.1_8" + - home: "F:\\jenkins\\tools\\java\\adoptium-jdk-25.0.1+8" + name: "adoptium_jdk_25.0.1_8_windows" + - home: "/home/jenkins/tools/java/ibm-semeru-8u362-b09_openj9-0.36.0" + name: "ibm-semeru-8u362-b09" + - home: "F:\\jenkins\\tools\\java\\ibm-semeru-8u362-b09_openj9-0.36.0" + name: "ibm-semeru-8u362-b09_windows" + - home: "/home/jenkins/tools/java/ibm-semeru-20.0.1_9_openj9-0.39.0" + name: "ibm_semeru_20.0.1_9" + - home: "F:\\jenkins\\tools\\java\\ibm-semeru-20.0.1_9_openj9-0.39.0" + name: "ibm_semeru_20.0.1_9_windows" + - home: "/home/jenkins/tools/java/ibm-semeru-21.0.2_13_openj9-0.43.0" + 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" + maven: + installations: + - home: "/home/jenkins/tools/maven/latest" + name: "maven_latest" + - home: "F:\\jenkins\\tools\\maven\\latest" + name: "maven_latest_windows" + - home: "/home/jenkins/tools/maven/latest2" + name: "maven_2_latest" + - home: "F:\\jenkins\\tools\\maven\\latest2" + name: "maven_2_latest_windows" + - home: "/home/jenkins/tools/maven/latest3" + name: "maven_3_latest" + - home: "F:\\jenkins\\tools\\maven\\latest3" + name: "maven_3_latest_windows" + - home: "/home/jenkins/tools/maven/latest4" + name: "maven_4_latest" + - home: "F:\\jenkins\\tools\\maven\\latest4" + name: "maven_4_latest_windows" + - home: "/home/jenkins/tools/maven/apache-maven-2.2.1" + name: "maven_2.2.1" + - home: "F:\\jenkins\\tools\\maven\\apache-maven-2.2.1" + name: "maven_2.2.1_windows" + - home: "/home/jenkins/tools/maven/apache-maven-3.0.5" + name: "maven_3.0.5" + - home: "F:\\jenkins\\tools\\maven\\apache-maven-3.0.5" + name: "maven_3.0.5_windows" + - home: "/home/jenkins/tools/maven/apache-maven-3.2.5" + name: "maven_3.2.5" + - home: "F:\\jenkins\\tools\\maven\\apache-maven-3.2.5" + name: "maven_3.2.5_windows" + - home: "/home/jenkins/tools/maven/apache-maven-3.3.9" + name: "maven_3.3.9" + - home: "F:\\jenkins\\tools\\maven\\apache-maven-3.3.9" + name: "maven_3.3.9_windows" + - home: "/home/jenkins/tools/maven/apache-maven-3.5.4" + name: "maven_3.5.4" + - home: "F:\\jenkins\\tools\\maven\\apache-maven-3.5.4" + name: "maven_3.5.4_windows" + - home: "/home/jenkins/tools/maven/apache-maven-3.6.3" + name: "maven_3.6.3" + - home: "F:\\jenkins\\tools\\maven\\apache-maven-3.6.3" + name: "maven_3.6.3_windows" + - home: "/home/jenkins/tools/maven/apache-maven-3.8.7" + name: "maven_3.8.7" + - home: "F:\\jenkins\\tools\\maven\\apache-maven-3.8.7" + name: "maven_3.8.7_windows" + - home: "/home/jenkins/tools/maven/apache-maven-3.8.8" + name: "maven_3.8.8" + - home: "F:\\jenkins\\tools\\maven\\apache-maven-3.8.8" + name: "maven_3.8.8_windows" + - home: "/home/jenkins/tools/maven/apache-maven-3.9.2" + name: "maven_3.9.2" + - home: "F:\\jenkins\\tools\\maven\\apache-maven-3.9.2" + name: "maven_3.9.2_windows" + - home: "/home/jenkins/tools/maven/apache-maven-3.9.3" + name: "maven_3.9.3" + - home: "F:\\jenkins\\tools\\maven\\apache-maven-3.9.3" + name: "maven_3.9.3_windows" + - home: "/home/jenkins/tools/maven/apache-maven-3.9.5" + name: "maven_3.9.5" + - home: "F:\\jenkins\\tools\\maven\\apache-maven-3.9.5" + name: "maven_3.9.5_windows" + - home: "/home/jenkins/tools/maven/apache-maven-3.9.6" + name: "maven_3.9.6" + - home: "F:\\jenkins\\tools\\maven\\apache-maven-3.9.6" + name: "maven_3.9.6_windows" + - home: "/home/jenkins/tools/maven/apache-maven-3.9.8" + name: "maven_3.9.8" + - home: "F:\\jenkins\\tools\\maven\\apache-maven-3.9.8" + name: "maven_3.9.8_windows" + - home: "/home/jenkins/tools/maven/apache-maven-3.9.9" + name: "maven_3.9.9" + - home: "F:\\jenkins\\tools\\maven\\apache-maven-3.9.9" + name: "maven_3.9.9_windows" + - home: "/home/jenkins/tools/maven/apache-maven-3.9.11" + name: "maven_3.9.11" + - home: "F:\\jenkins\\tools\\maven\\apache-maven-3.9.11" + name: "maven_3.9.11_windows" + - home: "/home/jenkins/tools/maven/apache-maven-4.0.0-beta-3" + name: "maven_4.0.0_beta_3" + - home: "F:\\jenkins\\tools\\maven\\apache-maven-4.0.0-beta-3" + name: "maven_4.0.0_beta_3_windows" + - home: "/home/jenkins/tools/maven/apache-maven-4.0.0-rc-2" + name: "maven_4.0.0_rc_2" + - home: "F:\\jenkins\\tools\\maven\\apache-maven-4.0.0-rc-2" + name: "maven_4.0.0_rc_2_windows" + - home: "/home/jenkins/tools/maven/apache-maven-4.0.0-rc-3" + name: "maven_4.0.0_rc_3" + - home: "F:\\jenkins\\tools\\maven\\apache-maven-4.0.0-rc-3" + name: "maven_4.0.0_rc_3_windows" + - home: "/home/jenkins/tools/maven/apache-maven-4.0.0-rc-5" + name: "maven_4.0.0_rc_5" + - home: "F:\\jenkins\\tools\\maven\\apache-maven-4.0.0-rc-5" + name: "maven_4.0.0_rc_5_windows" + mavenGlobalConfig: + globalSettingsProvider: "standard" + settingsProvider: "standard" + pipelineMaven: + globalTraceability: false + triggerDownstreamUponResultAborted: false + triggerDownstreamUponResultFailure: false + triggerDownstreamUponResultNotBuilt: false + triggerDownstreamUponResultSuccess: true + triggerDownstreamUponResultUnstable: false diff --git a/jenkins-config-backup/readme.md b/jenkins-config-backup/readme.md new file mode 100644 index 0000000..f6d0bf3 --- /dev/null +++ b/jenkins-config-backup/readme.md @@ -0,0 +1,77 @@ + +This is an attempt to have a backed up state of the Apache CouchDB Jenkins instance. + +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 redescover which plugins to reinstall and what configuration was now missing or erased. + + +The files are: + + * `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 Jekins, in case the files above don't cature it: + + * `Controllers > CouchDB > ci-couchdb.apache.org > CouchDB > Main + Release > Configuration`: + What it does: Builder for main, x.y.* and jenkins-* branches + Branch Sources: + GitHub with `ASF CI for Github PRs etc` credential + Repository URL: https://github.com/apache/couchdb.git + Discover branches + 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 + Branch Sources: + GitHub with `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" + Discover pull requests from forks + Strategy > "Merging the pull request with the current target branch" + Trust: "From users with Admin or Write permissions" + Orphaned Item Strategy: + Abort builds + Discard old items + Days to keep old items: `15` + Max # of old items to keep: `25` + + * `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. + Build periodically: + Schedule: + ``` + TZ=UTC + H H(3-8) * * 7 + ``` + Pipeline 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 + ``` + 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 new file mode 100644 index 0000000..9563423 --- /dev/null +++ b/jenkins-config-backup/system_information_plugins.md @@ -0,0 +1,140 @@ + +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 +```
