This commit is contained in:
Samyak 2025-10-07 18:24:05 +00:00 committed by GitHub
commit f8746bface
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
137 changed files with 1463 additions and 0 deletions

5
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"java.project.sourcePaths": [
"docs"
]
}

View File

@ -272,3 +272,8 @@ Plugin developers wanting to support JCasC in their plugin should [check out our
As configuration as code is demonstrated to be a highly requested topic in the Jenkins community, we have published
[JEP 201](https://github.com/jenkinsci/jep/tree/master/jep/201) as a proposal to make this a standard component
of the Jenkins project. The proposal was accepted. :tada:
## Developer Guide
For detailed information about recent changes made by developers, including configurations, adjustments, and guidelines for contributing to the project, please see the [Developer Changes README](docs\developer\README.md).

9
docs/developer/README.md Normal file
View File

@ -0,0 +1,9 @@
Developer Changes Guide
## Current Status
At the moment, there have been no changes made by the developer. Once the developer starts contributing, all changes will be tracked and documented here.
## Future Changes
Once the developer begins making changes, the following will be tracked: Code modifications Configuration updates Any new features or bug fixes
## How to Track Changes
Make Changes Locally Developers should make their changes in a local branch. Commit Changes Once changes are made, commit them with a descriptive message indicating what was changed. Push Changes After committing, push the changes to the remote repository. Document Changes Here Document any significant changes here, with details about what was modified and why.

387
integrations/bin/pom.xml Normal file
View File

@ -0,0 +1,387 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.jenkins.configuration-as-code</groupId>
<artifactId>parent</artifactId>
<version>${changelist}</version>
</parent>
<artifactId>integrations</artifactId>
<name>Configuration as Code Integration tests</name>
<properties>
<!-- no need to be deployed during release, this is a test-only module -->
<maven.deploy.skip>true</maven.deploy.skip>
<jenkins.version>2.492.1</jenkins.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.jenkins.tools.bom</groupId>
<artifactId>bom-2.479.x</artifactId>
<version>${plugin-bom.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.cloudbees.jenkins.plugins</groupId>
<artifactId>custom-tools-plugin</artifactId>
<version>0.8</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.coravy.hudson.plugins.github</groupId>
<artifactId>github</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.stefanbirkner</groupId>
<artifactId>system-rules</artifactId>
<version>1.19.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.jenkins</groupId>
<artifactId>configuration-as-code</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.jenkins.configuration-as-code</groupId>
<artifactId>test-harness</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.jenkins.docker</groupId>
<artifactId>docker-plugin</artifactId>
<version>1.9.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.jenkins.plugins</groupId>
<artifactId>adoptopenjdk</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.jenkins.plugins</groupId>
<artifactId>artifact-manager-s3</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.jenkins.plugins</groupId>
<artifactId>aws-global-configuration</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.jenkins.plugins</groupId>
<artifactId>gitlab-branch-source</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.jenkins.plugins</groupId>
<artifactId>joda-time-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.jenkins.plugins</groupId>
<artifactId>pipeline-groovy-lib</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.csanchez.jenkins.plugins</groupId>
<artifactId>kubernetes</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.main</groupId>
<artifactId>maven-plugin</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.modules</groupId>
<artifactId>sshd</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>active-directory</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>apache-httpcomponents-client-4-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>artifactory</artifactId>
<version>4.0.8</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>azure-keyvault</artifactId>
<version>280.v166053ddda_42</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>bouncycastle-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>config-file-provider</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>credentials</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>docker-commons</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>docker-workflow</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>ec2</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>email-ext</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>external-workspace-manager</artifactId>
<version>1.3.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>git-client</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>gitea</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>github-branch-source</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>github-oauth</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>gitlab-plugin</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>jackson2-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>jdk-tool</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>jira</artifactId>
<version>3.13</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>job-dsl</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>ldap</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>mailer</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>matrix-auth</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>mercurial</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>mesos</artifactId>
<version>1.0.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>metrics</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>msbuild</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>mstestrunner</artifactId>
<version>1.5.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>nodejs</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>role-strategy</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>sbt</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>scm-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>simple-theme-plugin</artifactId>
<version>202.v6367d3dea_73b_</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>slack</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>sonar</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>ssh-credentials</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>terraform</artifactId>
<version>1.0.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>view-job-filters</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins.aws-java-sdk</groupId>
<artifactId>aws-java-sdk-sns</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jenkins.plugins.statistics.gatherer</groupId>
<artifactId>statistics-gatherer</artifactId>
<version>2.0.3</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>../demos</directory>
</resource>
<resource>
<directory>../.</directory>
<includes>
<include>README.md</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.jenkins-ci.tools</groupId>
<artifactId>maven-hpi-plugin</artifactId>
<extensions>true</extensions>
<executions>
<execution>
<id>prepare-test-plugins</id>
<goals>
<goal>resolve-test-dependencies</goal>
</goals>
<phase>test-compile</phase>
</execution>
<execution>
<id>test-runtime</id>
<goals>
<goal>test-runtime</goal>
</goals>
<phase>test</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>jacoco</id>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>report-aggregate</id>
<goals>
<goal>report-aggregate</goal>
</goals>
<phase>verify</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@ -0,0 +1,17 @@
jenkins:
systemMessage: Testing...
credentials:
system:
domainCredentials:
- domain:
name: "test.com"
description: "test.com domain"
specifications:
- hostnameSpecification:
includes: "*.test.com"
credentials:
- usernamePassword:
scope: SYSTEM
id: user1
username: Administrator
password: secret

View File

@ -0,0 +1,12 @@
tool:
customtool:
installations:
- name: "my-tool"
home: ""
properties:
- installSource:
- command:
toolHome: "/bin/my-tool"
command: >
curl -o my-tool.tar.bz2 -L https://github.com/my/tool/releases/download/v0.1.0/linux-amd64-my-tool.tar.bz2
tar -xvjf my-tool.tar.bz2

View File

@ -0,0 +1,37 @@
jenkins:
clouds:
- docker:
name: "docker"
dockerApi:
dockerHost:
uri: "unix:///var/run/docker.sock"
templates:
- labelString: "docker-agent"
dockerTemplateBase:
image: "jenkins/slave"
mounts:
- type=volume,source=hello,destination=/hello
- type=volume,source=world,destination=/world
environmentsString: |
hello=world
foo=bar
remoteFs: "/home/jenkins/agent"
connector:
attach:
user: "jenkins"
instanceCapStr: "10"
- labelString: "generic"
dockerTemplateBase:
image: "jenkins/slave"
mounts:
- type=volume,source=hello,destination=/hello
- type=volume,source=world,destination=/world
environmentsString: |
hello=world
foo=bar
remoteFs: "/home/jenkins/agent2"
connector:
attach:
user: "jenkins"
instanceCapStr: "5"

View File

@ -0,0 +1,6 @@
unclassified:
pipeline-model:
dockerLabel: "label-casc"
registry:
url: "my.docker.endpoint"
credentialsId: "credId"

View File

@ -0,0 +1,4 @@
dockerLabel: "label-casc"
registry:
credentialsId: "credId"
url: "my.docker.endpoint"

View File

@ -0,0 +1,18 @@
---
# NOTE: THIS FILE IS A COPY OF THE ONE USED IN JENKINS ESSENTIALS
# DO NOT JUST ADAPT IF SOMETHING HAS TO CHANGE, PLEASE PING THE ESSENTIALS TEAM
# IF THIS HAPPENS. Thanks!
jenkins:
systemMessage: "Welcome to Jenkins Essentials!"
numExecutors: 0
unclassified:
metricsaccesskey:
accessKeys:
- key: "evergreen"
description: "Key for evergreen health-check"
canHealthCheck: true
canPing: false
canThreadDump: false
canMetrics: false
origins: "*"

View File

@ -0,0 +1,17 @@
unclassified:
globalLibraries:
libraries:
- defaultVersion: "1.2.3"
name: "Test Git Lib"
retriever:
legacySCM:
scm:
git:
branches:
- name: "*/myprodbranch"
browser:
# Reproduces JENKINS-57604
assemblaWeb:
repoUrl: "assembla.acmecorp.com"
buildChooser: "default"
gitTool: "Default"

View File

@ -0,0 +1,5 @@
installations:
- home: "/bin/git"
name: "git"
- home: "/usr/local/bin/git"
name: "another_git"

View File

@ -0,0 +1,6 @@
jobs:
- organizationFolder:
name: "ndeloof"
navigators:
- github:
repoOwner: "ndeloof"

View File

@ -0,0 +1,26 @@
jenkins:
systemMessage: Testing
credentials:
system:
domainCredentials:
- credentials:
- usernamePassword:
scope: SYSTEM
id: user1
username: Administrator
password: secretPassword
- basicSSHUserPrivateKey:
scope: SYSTEM
id: agent-private-key
username: agentuser
passphrase: password
description: "ssh private key used to connect ssh slaves"
privateKeySource:
directEntry:
privateKey: sp0ds9d+skkfjf
- file:
scope: GLOBAL
id: "secret-file"
fileName: "mysecretfile.txt"
secretBytes: "YWJjZGVmZwo="

View File

@ -0,0 +1,20 @@
unclassified:
globalLibraries:
libraries:
- defaultVersion: "master"
name: "jenkins-pipeline-lib"
retriever:
modernSCM:
scm:
github:
id: "e43d6600-ba0e-46c5-8eae-3989bf654055"
repoOwner: "jenkins-infra"
repository: "pipeline-library"
traits:
- gitHubBranchDiscovery:
strategyId: 1
- originPullRequestDiscoveryTrait:
strategyId: 2
- gitHubForkDiscovery:
strategyId: 3
trust: "gitHubTrustPermissions"

View File

@ -0,0 +1,6 @@
jenkins:
globalNodeProperties:
- envVars:
env:
- key: FOO
value: BAR

View File

@ -0,0 +1,4 @@
- envVars:
env:
- key: "FOO"
value: "BAR"

View File

@ -0,0 +1,8 @@
installations:
- home: "/jdk"
name: "jdk11"
properties:
- installSource:
installers:
- adoptOpenJdkInstaller:
id: "jdk-11.0.14+9"

View File

@ -0,0 +1,3 @@
security:
GlobalJobDslSecurityConfiguration:
useScriptSecurity: false

View File

@ -0,0 +1,11 @@
jenkins:
securityRealm:
ldap:
configurations:
- server: ldap.acme.com
rootDN: dc=acme,dc=fr
cache:
size: 100
ttl: 10
userIdStrategy: CaseInsensitive
groupIdStrategy: CaseSensitive

View File

@ -0,0 +1,10 @@
cache:
size: 100
ttl: 30
configurations:
- inhibitInferRootDN: false
rootDN: "dc=acme,dc=fr"
server: "ldap.acme.com"
disableMailAddressResolver: false
groupIdStrategy: "caseSensitive"
userIdStrategy: "caseInsensitive"

Some files were not shown because too many files have changed in this diff Show More