diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000000..f3928d9fee --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "java.project.sourcePaths": [ + "docs" + ] +} \ No newline at end of file diff --git a/README.md b/README.md index 43404873ae..c3f71f5327 100644 --- a/README.md +++ b/README.md @@ -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). + diff --git a/docs/COMPATIBILITY.md b/docs/Compatibility/COMPATIBILITY.md similarity index 100% rename from docs/COMPATIBILITY.md rename to docs/Compatibility/COMPATIBILITY.md diff --git a/docs/CONTRIBUTING.md b/docs/Contributing/CONTRIBUTING.md similarity index 100% rename from docs/CONTRIBUTING.md rename to docs/Contributing/CONTRIBUTING.md diff --git a/docs/IMPLEMENTATION.md b/docs/Implementation/IMPLEMENTATION.md similarity index 100% rename from docs/IMPLEMENTATION.md rename to docs/Implementation/IMPLEMENTATION.md diff --git a/docs/REQUIREMENTS.md b/docs/Requirments/REQUIREMENTS.md similarity index 100% rename from docs/REQUIREMENTS.md rename to docs/Requirments/REQUIREMENTS.md diff --git a/docs/VAULT.md b/docs/Vault/VAULT.md similarity index 100% rename from docs/VAULT.md rename to docs/Vault/VAULT.md diff --git a/docs/seed-jobs.md b/docs/configuration/seed-jobs.md similarity index 100% rename from docs/seed-jobs.md rename to docs/configuration/seed-jobs.md diff --git a/docs/usageScenarios.md b/docs/configuration/usageScenarios.md similarity index 100% rename from docs/usageScenarios.md rename to docs/configuration/usageScenarios.md diff --git a/docs/DEVELOPER.md b/docs/developer/DEVELOPER.md similarity index 100% rename from docs/DEVELOPER.md rename to docs/developer/DEVELOPER.md diff --git a/docs/developer/README.md b/docs/developer/README.md new file mode 100644 index 0000000000..54f888a432 --- /dev/null +++ b/docs/developer/README.md @@ -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. \ No newline at end of file diff --git a/docs/vault/setup-vault-using-docker.md b/docs/developer/vault/setup-vault-using-docker.md similarity index 100% rename from docs/vault/setup-vault-using-docker.md rename to docs/developer/vault/setup-vault-using-docker.md diff --git a/docs/migrate.md b/docs/migrate/migrate.md similarity index 100% rename from docs/migrate.md rename to docs/migrate/migrate.md diff --git a/docs/PLUGINS.md b/docs/plugins/PLUGINS.md similarity index 100% rename from docs/PLUGINS.md rename to docs/plugins/PLUGINS.md diff --git a/integrations/bin/pom.xml b/integrations/bin/pom.xml new file mode 100644 index 0000000000..e194558f45 --- /dev/null +++ b/integrations/bin/pom.xml @@ -0,0 +1,387 @@ + + + 4.0.0 + + io.jenkins.configuration-as-code + parent + ${changelist} + + + integrations + Configuration as Code Integration tests + + + + true + 2.492.1 + + + + + + io.jenkins.tools.bom + bom-2.479.x + ${plugin-bom.version} + pom + import + + + + + + + com.cloudbees.jenkins.plugins + custom-tools-plugin + 0.8 + test + + + com.coravy.hudson.plugins.github + github + test + + + com.github.stefanbirkner + system-rules + 1.19.0 + test + + + io.jenkins + configuration-as-code + ${project.version} + test + + + io.jenkins.configuration-as-code + test-harness + ${project.version} + test + + + io.jenkins.docker + docker-plugin + 1.9.0 + test + + + io.jenkins.plugins + adoptopenjdk + test + + + io.jenkins.plugins + artifact-manager-s3 + test + + + io.jenkins.plugins + aws-global-configuration + test + + + io.jenkins.plugins + gitlab-branch-source + test + + + io.jenkins.plugins + joda-time-api + test + + + io.jenkins.plugins + pipeline-groovy-lib + test + + + org.csanchez.jenkins.plugins + kubernetes + test + + + org.jenkins-ci.main + maven-plugin + test + + + org.jenkins-ci.modules + sshd + test + + + org.jenkins-ci.plugins + active-directory + test + + + org.jenkins-ci.plugins + apache-httpcomponents-client-4-api + test + + + org.jenkins-ci.plugins + artifactory + 4.0.8 + test + + + org.jenkins-ci.plugins + azure-keyvault + 280.v166053ddda_42 + test + + + org.jenkins-ci.plugins + bouncycastle-api + test + + + org.jenkins-ci.plugins + config-file-provider + test + + + org.jenkins-ci.plugins + credentials + test + + + org.jenkins-ci.plugins + docker-commons + test + + + org.jenkins-ci.plugins + docker-workflow + test + + + org.jenkins-ci.plugins + ec2 + test + + + org.jenkins-ci.plugins + email-ext + test + + + org.jenkins-ci.plugins + external-workspace-manager + 1.3.1 + test + + + org.jenkins-ci.plugins + git-client + test + + + org.jenkins-ci.plugins + gitea + test + + + org.jenkins-ci.plugins + github-branch-source + test + + + org.jenkins-ci.plugins + github-oauth + test + + + org.jenkins-ci.plugins + gitlab-plugin + test + + + org.jenkins-ci.plugins + jackson2-api + test + + + org.jenkins-ci.plugins + jdk-tool + test + + + org.jenkins-ci.plugins + jira + 3.13 + test + + + org.jenkins-ci.plugins + job-dsl + test + + + org.jenkins-ci.plugins + ldap + test + + + org.jenkins-ci.plugins + mailer + test + + + org.jenkins-ci.plugins + matrix-auth + test + + + org.jenkins-ci.plugins + mercurial + test + + + org.jenkins-ci.plugins + mesos + 1.0.0 + test + + + org.jenkins-ci.plugins + metrics + test + + + org.jenkins-ci.plugins + msbuild + test + + + org.jenkins-ci.plugins + mstestrunner + 1.5.0 + test + + + org.jenkins-ci.plugins + nodejs + test + + + org.jenkins-ci.plugins + role-strategy + test + + + org.jenkins-ci.plugins + sbt + test + + + org.jenkins-ci.plugins + scm-api + test + + + org.jenkins-ci.plugins + simple-theme-plugin + 202.v6367d3dea_73b_ + test + + + org.jenkins-ci.plugins + slack + test + + + org.jenkins-ci.plugins + sonar + test + + + org.jenkins-ci.plugins + ssh-credentials + test + + + org.jenkins-ci.plugins + terraform + 1.0.10 + test + + + org.jenkins-ci.plugins + view-job-filters + test + + + org.jenkins-ci.plugins.aws-java-sdk + aws-java-sdk-sns + test + + + org.jenkins.plugins.statistics.gatherer + statistics-gatherer + 2.0.3 + test + + + + + + + ../demos + + + ../. + + README.md + + + + + + org.jenkins-ci.tools + maven-hpi-plugin + true + + + prepare-test-plugins + + resolve-test-dependencies + + test-compile + + + test-runtime + + test-runtime + + test + + + + + + + + + jacoco + + + + org.jacoco + jacoco-maven-plugin + + + report-aggregate + + report-aggregate + + verify + + + + + + + + diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/ActiveDirectoryTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/ActiveDirectoryTest.class new file mode 100644 index 0000000000..98b9ef8278 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/ActiveDirectoryTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/ArtifactManagerS3Test.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/ArtifactManagerS3Test.class new file mode 100644 index 0000000000..f4bcc0495e Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/ArtifactManagerS3Test.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/ArtifactoryTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/ArtifactoryTest.class new file mode 100644 index 0000000000..153b5f2dac Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/ArtifactoryTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/AzureKeyVaultTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/AzureKeyVaultTest.class new file mode 100644 index 0000000000..80a937dc9e Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/AzureKeyVaultTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/BuildAgentsTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/BuildAgentsTest.class new file mode 100644 index 0000000000..ac428b600b Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/BuildAgentsTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/ConfigFileProviderTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/ConfigFileProviderTest.class new file mode 100644 index 0000000000..722b664c87 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/ConfigFileProviderTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/CredentialsReadmeTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/CredentialsReadmeTest.class new file mode 100644 index 0000000000..55b3a5ed97 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/CredentialsReadmeTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/CredentialsTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/CredentialsTest.class new file mode 100644 index 0000000000..681c4b4b11 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/CredentialsTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/CustomToolsTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/CustomToolsTest.class new file mode 100644 index 0000000000..f50816d914 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/CustomToolsTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/DockerCloudTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/DockerCloudTest.class new file mode 100644 index 0000000000..d61fc0c1d0 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/DockerCloudTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/DockerWorkflowSymbolTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/DockerWorkflowSymbolTest.class new file mode 100644 index 0000000000..4a11c6b37f Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/DockerWorkflowSymbolTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/DockerWorkflowTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/DockerWorkflowTest.class new file mode 100644 index 0000000000..d4edf68691 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/DockerWorkflowTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/EC2CloudTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/EC2CloudTest.class new file mode 100644 index 0000000000..4864a06c0f Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/EC2CloudTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/EssentialsTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/EssentialsTest.class new file mode 100644 index 0000000000..e3675934a7 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/EssentialsTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/ExternalWorkspaceManagerTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/ExternalWorkspaceManagerTest.class new file mode 100644 index 0000000000..0c3b278d13 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/ExternalWorkspaceManagerTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/GitHostKeyVerificationTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GitHostKeyVerificationTest.class new file mode 100644 index 0000000000..7e3ad51a87 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GitHostKeyVerificationTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/GitHubTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GitHubTest.class new file mode 100644 index 0000000000..e21f921836 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GitHubTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/GitLabConfigurationTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GitLabConfigurationTest.class new file mode 100644 index 0000000000..b92fd38ed1 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GitLabConfigurationTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/GitTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GitTest.class new file mode 100644 index 0000000000..777916f38a Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GitTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/GitToolInstallationTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GitToolInstallationTest.class new file mode 100644 index 0000000000..0ceae46338 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GitToolInstallationTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/GiteaOrganisationFolderTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GiteaOrganisationFolderTest.class new file mode 100644 index 0000000000..5f99f929b5 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GiteaOrganisationFolderTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/GiteaServerTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GiteaServerTest.class new file mode 100644 index 0000000000..f4b4b02ec9 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GiteaServerTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/GithubOAuthTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GithubOAuthTest.class new file mode 100644 index 0000000000..ac5687c67c Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GithubOAuthTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/GithubOrganisationFolderTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GithubOrganisationFolderTest.class new file mode 100644 index 0000000000..d33ab2e8b7 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GithubOrganisationFolderTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/GitscmTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GitscmTest.class new file mode 100644 index 0000000000..16b17142a0 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GitscmTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/GlobalLibrariesTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GlobalLibrariesTest.class new file mode 100644 index 0000000000..48b07b9a71 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GlobalLibrariesTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/GlobalMatrixAuthorizationTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GlobalMatrixAuthorizationTest.class new file mode 100644 index 0000000000..e564eca544 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GlobalMatrixAuthorizationTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/GlobalNodePropertiesTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GlobalNodePropertiesTest.class new file mode 100644 index 0000000000..638842812e Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/GlobalNodePropertiesTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/JdkConfiguratorTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/JdkConfiguratorTest.class new file mode 100644 index 0000000000..cdf9eab55f Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/JdkConfiguratorTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/JenkinsDemoTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/JenkinsDemoTest.class new file mode 100644 index 0000000000..d932c8adee Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/JenkinsDemoTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/JenkinsReadmeDemoTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/JenkinsReadmeDemoTest.class new file mode 100644 index 0000000000..92b7056e40 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/JenkinsReadmeDemoTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/JiraTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/JiraTest.class new file mode 100644 index 0000000000..0e8fa9b039 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/JiraTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/JobDslGlobalSecurityConfigurationTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/JobDslGlobalSecurityConfigurationTest.class new file mode 100644 index 0000000000..fe35c6269a Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/JobDslGlobalSecurityConfigurationTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/KubernetesCloudTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/KubernetesCloudTest.class new file mode 100644 index 0000000000..d3a117c9dc Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/KubernetesCloudTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/LDAPSecurityRealmTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/LDAPSecurityRealmTest.class new file mode 100644 index 0000000000..cec1cb23a6 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/LDAPSecurityRealmTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/LDAPTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/LDAPTest.class new file mode 100644 index 0000000000..ecff570082 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/LDAPTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/LogRecorderTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/LogRecorderTest.class new file mode 100644 index 0000000000..9a6187156a Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/LogRecorderTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/MSBuildTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/MSBuildTest.class new file mode 100644 index 0000000000..13070254d9 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/MSBuildTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/MSTestRunnerTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/MSTestRunnerTest.class new file mode 100644 index 0000000000..6d625c2f6c Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/MSTestRunnerTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/MailExtTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/MailExtTest.class new file mode 100644 index 0000000000..c66ba5437d Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/MailExtTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/MailerTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/MailerTest.class new file mode 100644 index 0000000000..83919900f3 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/MailerTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/MavenConfiguratorTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/MavenConfiguratorTest.class new file mode 100644 index 0000000000..be21b7ecea Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/MavenConfiguratorTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/MercurialTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/MercurialTest.class new file mode 100644 index 0000000000..5bfc13813f Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/MercurialTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/MesosTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/MesosTest.class new file mode 100644 index 0000000000..859c7fec1d Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/MesosTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/NodeJSTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/NodeJSTest.class new file mode 100644 index 0000000000..2726fdcb8e Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/NodeJSTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/PermissionAssert.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/PermissionAssert.class new file mode 100644 index 0000000000..be41677da5 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/PermissionAssert.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/ProjectMatrixAuthorizationTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/ProjectMatrixAuthorizationTest.class new file mode 100644 index 0000000000..deb4adfd43 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/ProjectMatrixAuthorizationTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/PropertiesSecretSourceTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/PropertiesSecretSourceTest.class new file mode 100644 index 0000000000..f794c9aae8 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/PropertiesSecretSourceTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/ProxyTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/ProxyTest.class new file mode 100644 index 0000000000..f730fcba5f Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/ProxyTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/RoleStrategyTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/RoleStrategyTest.class new file mode 100644 index 0000000000..4cdada2ca1 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/RoleStrategyTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/RoundTripMailerTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/RoundTripMailerTest.class new file mode 100644 index 0000000000..41c5ff27de Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/RoundTripMailerTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/SSHCredentialsTest$MySSHKeySecretSource.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/SSHCredentialsTest$MySSHKeySecretSource.class new file mode 100644 index 0000000000..35162d94b2 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/SSHCredentialsTest$MySSHKeySecretSource.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/SSHCredentialsTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/SSHCredentialsTest.class new file mode 100644 index 0000000000..34c26cff3a Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/SSHCredentialsTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/SbtTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/SbtTest.class new file mode 100644 index 0000000000..a483dc8b26 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/SbtTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/Security1446Test.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/Security1446Test.class new file mode 100644 index 0000000000..7b7b88b47c Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/Security1446Test.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/SeedJobTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/SeedJobTest.class new file mode 100644 index 0000000000..128b08115c Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/SeedJobTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/SimpleThemeTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/SimpleThemeTest.class new file mode 100644 index 0000000000..bc0ee74743 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/SimpleThemeTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/SlackTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/SlackTest.class new file mode 100644 index 0000000000..d151d796d4 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/SlackTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/SonarQubeTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/SonarQubeTest.class new file mode 100644 index 0000000000..9749a5d2ea Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/SonarQubeTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/StatisticsGathererTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/StatisticsGathererTest.class new file mode 100644 index 0000000000..f781ef2499 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/StatisticsGathererTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/SystemCredentialsTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/SystemCredentialsTest.class new file mode 100644 index 0000000000..dc4c0ac3c4 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/SystemCredentialsTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/TerraformTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/TerraformTest.class new file mode 100644 index 0000000000..f2c8afdb65 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/TerraformTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/ToolDefaultPropertiesExportIgnoreListTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/ToolDefaultPropertiesExportIgnoreListTest.class new file mode 100644 index 0000000000..0307f84699 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/ToolDefaultPropertiesExportIgnoreListTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/TopReadmeTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/TopReadmeTest.class new file mode 100644 index 0000000000..f3834a385e Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/TopReadmeTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/ViewJobFiltersTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/ViewJobFiltersTest.class new file mode 100644 index 0000000000..968558c05f Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/ViewJobFiltersTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/WorkflowCpsGlobalLibTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/WorkflowCpsGlobalLibTest.class new file mode 100644 index 0000000000..ab5574c0b3 Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/WorkflowCpsGlobalLibTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/core/HudsonPrivateSecurityRealmConfiguratorTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/core/HudsonPrivateSecurityRealmConfiguratorTest.class new file mode 100644 index 0000000000..61e6e264af Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/core/HudsonPrivateSecurityRealmConfiguratorTest.class differ diff --git a/integrations/bin/src/test/java/io/jenkins/plugins/casc/core/NodeMonitorsConfiguratorTest.class b/integrations/bin/src/test/java/io/jenkins/plugins/casc/core/NodeMonitorsConfiguratorTest.class new file mode 100644 index 0000000000..a0716f300f Binary files /dev/null and b/integrations/bin/src/test/java/io/jenkins/plugins/casc/core/NodeMonitorsConfiguratorTest.class differ diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/CredentialsWithDomain.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/CredentialsWithDomain.yml new file mode 100644 index 0000000000..fa5a9f4b56 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/CredentialsWithDomain.yml @@ -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 diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/CustomToolsTest.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/CustomToolsTest.yml new file mode 100644 index 0000000000..c3a8e8e569 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/CustomToolsTest.yml @@ -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 diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/DockerCloudTest2.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/DockerCloudTest2.yml new file mode 100644 index 0000000000..d8afaaa8c7 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/DockerCloudTest2.yml @@ -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" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/DockerWorkflowSymbol.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/DockerWorkflowSymbol.yml new file mode 100644 index 0000000000..711674c22c --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/DockerWorkflowSymbol.yml @@ -0,0 +1,6 @@ +unclassified: + pipeline-model: + dockerLabel: "label-casc" + registry: + url: "my.docker.endpoint" + credentialsId: "credId" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/DockerWorkflowSymbolExpected.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/DockerWorkflowSymbolExpected.yml new file mode 100644 index 0000000000..719742045f --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/DockerWorkflowSymbolExpected.yml @@ -0,0 +1,4 @@ +dockerLabel: "label-casc" +registry: + credentialsId: "credId" + url: "my.docker.endpoint" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/EssentialsTest.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/EssentialsTest.yml new file mode 100644 index 0000000000..45fe446b92 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/EssentialsTest.yml @@ -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: "*" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/GitTest.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/GitTest.yml new file mode 100644 index 0000000000..c3549bdcb7 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/GitTest.yml @@ -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" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/GitToolInstallationTestExpected.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/GitToolInstallationTestExpected.yml new file mode 100644 index 0000000000..301acf1318 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/GitToolInstallationTestExpected.yml @@ -0,0 +1,5 @@ +installations: +- home: "/bin/git" + name: "git" +- home: "/usr/local/bin/git" + name: "another_git" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/GithubOrganisationFolderTest.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/GithubOrganisationFolderTest.yml new file mode 100644 index 0000000000..c95d1c2495 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/GithubOrganisationFolderTest.yml @@ -0,0 +1,6 @@ +jobs: + - organizationFolder: + name: "ndeloof" + navigators: + - github: + repoOwner: "ndeloof" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/GlobalCredentials.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/GlobalCredentials.yml new file mode 100644 index 0000000000..14be42639d --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/GlobalCredentials.yml @@ -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=" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/GlobalLibrariesGitHubTest.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/GlobalLibrariesGitHubTest.yml new file mode 100644 index 0000000000..b948292d2f --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/GlobalLibrariesGitHubTest.yml @@ -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" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/GlobalNodePropertiesTest.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/GlobalNodePropertiesTest.yml new file mode 100644 index 0000000000..c9eeb3aaf9 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/GlobalNodePropertiesTest.yml @@ -0,0 +1,6 @@ +jenkins: + globalNodeProperties: + - envVars: + env: + - key: FOO + value: BAR diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/GlobalNodePropertiesTestExpected.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/GlobalNodePropertiesTestExpected.yml new file mode 100644 index 0000000000..e02c4d039a --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/GlobalNodePropertiesTestExpected.yml @@ -0,0 +1,4 @@ +- envVars: + env: + - key: "FOO" + value: "BAR" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/JdkConfiguratorTestExpected.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/JdkConfiguratorTestExpected.yml new file mode 100644 index 0000000000..e1416c363c --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/JdkConfiguratorTestExpected.yml @@ -0,0 +1,8 @@ +installations: +- home: "/jdk" + name: "jdk11" + properties: + - installSource: + installers: + - adoptOpenJdkInstaller: + id: "jdk-11.0.14+9" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/JobDslGlobalSecurityConfigurationTest.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/JobDslGlobalSecurityConfigurationTest.yml new file mode 100644 index 0000000000..d93a48cab0 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/JobDslGlobalSecurityConfigurationTest.yml @@ -0,0 +1,3 @@ +security: + GlobalJobDslSecurityConfiguration: + useScriptSecurity: false diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/LDAPSecurityRealmTestNoSecret.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/LDAPSecurityRealmTestNoSecret.yml new file mode 100644 index 0000000000..111759d4bb --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/LDAPSecurityRealmTestNoSecret.yml @@ -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 diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/LDAPSecurityRealmTestNoSecretExpected.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/LDAPSecurityRealmTestNoSecretExpected.yml new file mode 100644 index 0000000000..888cf51319 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/LDAPSecurityRealmTestNoSecretExpected.yml @@ -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" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/LogRecorderTestExpected.yaml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/LogRecorderTestExpected.yaml new file mode 100644 index 0000000000..1d1d257e3a --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/LogRecorderTestExpected.yaml @@ -0,0 +1,5 @@ +recorders: +- loggers: + - level: "WARNING" + name: "io.jenkins.plugins.casc" + name: "JCasC" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/MailExtTest.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/MailExtTest.yml new file mode 100644 index 0000000000..9800931a05 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/MailExtTest.yml @@ -0,0 +1,9 @@ +configuration-as-code: + deprecated: "warn" +unclassified: + extendedEmailPublisher: + smtpUsername: email@acmecorp.com + smtpPassword: myPassword + defaultContentType: text/plain + defaultSubject: "Build $BUILD_NUMBER - $BUILD_STATUS" + defaultBody: "Check console output at $BUILD_URL" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/MailerTest.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/MailerTest.yml new file mode 100644 index 0000000000..10a67e3c8b --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/MailerTest.yml @@ -0,0 +1,5 @@ +unclassified: + mailer: + replyToAddress: do-not-reply@acme.org + smtpHost: smtp.acme.org + smtpPort: 4441 diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/MavenConfiguratorTestExpected.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/MavenConfiguratorTestExpected.yml new file mode 100644 index 0000000000..b864a587b6 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/MavenConfiguratorTestExpected.yml @@ -0,0 +1,8 @@ +installations: +- home: "/maven3" + name: "maven3" + properties: + - installSource: + installers: + - maven: + id: "3.8.4" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/MavenConfiguratorTestGlobalConfigExpected.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/MavenConfiguratorTestGlobalConfigExpected.yml new file mode 100644 index 0000000000..44f983097d --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/MavenConfiguratorTestGlobalConfigExpected.yml @@ -0,0 +1,2 @@ +globalSettingsProvider: "standard" +settingsProvider: "standard" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/MavenConfiguratorTestGlobalConfigSpecificFilesExpected.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/MavenConfiguratorTestGlobalConfigSpecificFilesExpected.yml new file mode 100644 index 0000000000..0eacc55a22 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/MavenConfiguratorTestGlobalConfigSpecificFilesExpected.yml @@ -0,0 +1,6 @@ +globalSettingsProvider: + filePath: + path: "/conf/maven/global-settings.xml" +settingsProvider: + filePath: + path: "/conf/maven/settings.xml" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/MercurialTest.yaml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/MercurialTest.yaml new file mode 100644 index 0000000000..cf0fca0acd --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/MercurialTest.yaml @@ -0,0 +1,21 @@ +tool: + mercurialinstallation: + installations: + - name: "Mercurial 3" + home: "/mercurial" + config: | + [defaults] + clone = --uncompressed + bundle = --type none + executable: "INSTALLATION/bin/hg" + useCaches: true + debug: false + masterCacheRoot: "/cache/root" + useSharing: false + properties: + - installSource: + installers: + - command: + toolHome: "mercurial" + label: "SomeLabel" + command: "[ -d mercurial ] || wget -q -O - http://www.archlinux.org/packages/extra/x86_64/mercurial/download/ | xzcat | tar xvf -" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/ProjectMatrixStrategy.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/ProjectMatrixStrategy.yml new file mode 100644 index 0000000000..dc7eec1db0 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/ProjectMatrixStrategy.yml @@ -0,0 +1,17 @@ +jenkins: + systemMessage: "Welcome!" + numExecutors: 4 + mode: NORMAL + scmCheckoutRetryCount: 4 + securityRealm: + local: + allowsSignup: false + users: + - id: test + password: test + + authorizationStrategy: + projectMatrix: + permissions: + - "Overall/Read:anonymous" + - "Overall/Administer:authenticated" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/PropertiesSecretSourceTest.yaml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/PropertiesSecretSourceTest.yaml new file mode 100644 index 0000000000..9f9ca750f2 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/PropertiesSecretSourceTest.yaml @@ -0,0 +1,9 @@ +credentials: + system: + domainCredentials: + - credentials: + - usernamePassword: + scope: SYSTEM + id: test + username: ${testuser} + password: ${testpassword} \ No newline at end of file diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/RoleStrategy1.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/RoleStrategy1.yml new file mode 100644 index 0000000000..ef6e7ab25e --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/RoleStrategy1.yml @@ -0,0 +1,67 @@ +jenkins: + authorizationStrategy: + roleBased: + roles: + global: + - name: "admin" + description: "Jenkins administrators" + permissions: + - "Overall/Administer" + entries: + - user: "admin" + - name: "readonly" + description: "Read-only users" + permissions: + - "Overall/Read" + - "Job/Read" + entries: + - group: "authenticated" + items: + - name: "FolderA" + description: "Jobs in Folder A, but not the folder itself" + pattern: "A/.*" + permissions: + - "Job/Configure" + - "Job/Build" + - "Job/Delete" + entries: + - user: "user1" + - user: "user2" + - name: "FolderB" + description: "Jobs in Folder B, but not the folder itself" + pattern: "B.*" + permissions: + - "Job/Configure" + - "Job/Build" + entries: + - user: "user2" + agents: + - name: "Agent1" + description: "Agent 1" + pattern: "agent1" + permissions: + - "Agent/Build" + entries: + - user: "user1" + + # System for test + securityRealm: + local: + allowsSignup: false + users: + - id: "admin" + password: "1234" + - id: "user1" + password: "password" + + nodes: + - dumb: + mode: NORMAL + name: "agent1" + remoteFS: "/home/user1" + launcher: jnlp + - dumb: + mode: NORMAL + name: "agent2" + remoteFS: "/home/user1" + launcher: jnlp diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/RoleStrategy1Expected.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/RoleStrategy1Expected.yml new file mode 100644 index 0000000000..63473d2bdc --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/RoleStrategy1Expected.yml @@ -0,0 +1,45 @@ +roleBased: + roles: + agents: + - description: "Agent 1" + entries: + - user: "user1" + name: "Agent1" + pattern: "agent1" + permissions: + - "Agent/Build" + global: + - description: "Jenkins administrators" + entries: + - user: "admin" + name: "admin" + pattern: ".*" + permissions: + - "Overall/Administer" + - description: "Read-only users" + entries: + - group: "authenticated" + name: "readonly" + pattern: ".*" + permissions: + - "Overall/Read" + - "Job/Read" + items: + - description: "Jobs in Folder A, but not the folder itself" + entries: + - user: "user1" + - user: "user2" + name: "FolderA" + pattern: "A/.*" + permissions: + - "Job/Build" + - "Job/Delete" + - "Job/Configure" + - description: "Jobs in Folder B, but not the folder itself" + entries: + - user: "user2" + name: "FolderB" + pattern: "B.*" + permissions: + - "Job/Build" + - "Job/Configure" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/RoleStrategy2.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/RoleStrategy2.yml new file mode 100644 index 0000000000..94a71c4f6a --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/RoleStrategy2.yml @@ -0,0 +1,39 @@ +jenkins: + authorizationStrategy: + roleBased: + roles: + global: + - name: "admin" + description: "Jenkins administrators" + permissions: + - "Overall/Administer" + entries: + - user: "admin" + - name: "readonly" + description: "Read-only users" + permissions: + - "Overall/Read" + - "Job/Read" + entries: + - group: "authenticated" + + # System for test + securityRealm: + local: + allowsSignup: false + users: + - id: "admin" + password: "1234" + - id: "user1" + + nodes: + - dumb: + mode: NORMAL + name: "agent1" + remoteFS: "/home/user1" + launcher: jnlp + - dumb: + mode: NORMAL + name: "agent2" + remoteFS: "/home/user1" + launcher: jnlp diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SSHCredentialsTest.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SSHCredentialsTest.yml new file mode 100644 index 0000000000..7e8f7e612d --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SSHCredentialsTest.yml @@ -0,0 +1,21 @@ +jenkins: + systemMessage: Jenkins with SSH Credentials for JCasC test + +credentials: + system: + domainCredentials: + - credentials: + - usernamePassword: + scope: SYSTEM + id: "userid" + username: "username-of-userid" + password: "password-of-userid" + - basicSSHUserPrivateKey: + scope: SYSTEM + id: "userid2" + username: "username-of-userid2" + passphrase: "passphrase-of-userid2" + description: "the description of userid2" + privateKeySource: + directEntry: + privateKey: "sp0ds9d+skkfjf" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SSHCredentialsTest_Multiline_Key.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SSHCredentialsTest_Multiline_Key.yml new file mode 100644 index 0000000000..ddfecb7878 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SSHCredentialsTest_Multiline_Key.yml @@ -0,0 +1,16 @@ +jenkins: + systemMessage: Jenkins with SSH Credentials for JCasC test + +credentials: + system: + domainCredentials: + - credentials: + - basicSSHUserPrivateKey: + scope: SYSTEM + id: "userid2" + username: "username-of-userid2" + passphrase: "passphrase-of-userid2" + description: "the description of userid2" + privateKeySource: + directEntry: + privateKey: ${MY_PRIVATE_KEY} diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SSHCredentialsTest_Singleline_Key.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SSHCredentialsTest_Singleline_Key.yml new file mode 100644 index 0000000000..00cb2e8bdc --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SSHCredentialsTest_Singleline_Key.yml @@ -0,0 +1,16 @@ +jenkins: + systemMessage: Jenkins with SSH Credentials for JCasC test + +credentials: + system: + domainCredentials: + - credentials: + - basicSSHUserPrivateKey: + scope: SYSTEM + id: "userid2" + username: "username-of-userid2" + passphrase: "passphrase-of-userid2" + description: "the description of userid2" + privateKeySource: + directEntry: + privateKey: ${decodeBase64:${SSH_AGENT_PRIVATE_KEY_BASE64}} diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SbtTestExpected.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SbtTestExpected.yml new file mode 100644 index 0000000000..310221de16 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SbtTestExpected.yml @@ -0,0 +1,8 @@ +installations: +- home: "/usr/bin/sbt" + name: "sbt" + properties: + - installSource: + installers: + - sbtInstaller: + id: "1.2.8" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/Security1446Test.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/Security1446Test.yml new file mode 100644 index 0000000000..2b0a415700 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/Security1446Test.yml @@ -0,0 +1,15 @@ +credentials: + system: + domainCredentials: + - credentials: + - string: + description: "path = ^${PATH}" + id: "system secret escaped" + scope: SYSTEM + secret: "{AQAAABAAAAAQwDmo12BE6995SezdXe1Y9ewaoYR6KgzX46VjtoPDqE0=}" + - usernamePassword: + description: "path = ^${PATH}" + id: "global user-passw escaped" + password: "{AQAAABAAAAAQpNs2vtahkRGcR5vzanaIb4UJkCyeNGdP23/X3+Tl1Ic=}" + scope: GLOBAL + username: "java-home = ^${JAVA_HOME}" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SeedJobTest.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SeedJobTest.yml new file mode 100644 index 0000000000..e6af297560 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SeedJobTest.yml @@ -0,0 +1,15 @@ +jobs: + - script: > + job('testJob1') { + scm { + git('git://github.com/quidryan/aws-sdk-test.git') + } + triggers { + scm('H/15 * * * *') + } + steps { + maven('-e clean test') + } + } + + - file: ./src/test/resources/io/jenkins/plugins/casc/testJob2.groovy diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SeedJobTest_withEnvVars.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SeedJobTest_withEnvVars.yml new file mode 100644 index 0000000000..402a2e1f63 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SeedJobTest_withEnvVars.yml @@ -0,0 +1,13 @@ +jobs: + - script: > + job('seedJobWithEnvVars') { + scm { + git("$REPO_URL") + } + triggers { + scm('H/15 * * * *') + } + steps { + maven('-e clean test') + } + } diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SeedJobTest_withGiteaOrganisation.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SeedJobTest_withGiteaOrganisation.yml new file mode 100644 index 0000000000..33f8d8f796 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SeedJobTest_withGiteaOrganisation.yml @@ -0,0 +1,34 @@ +jobs: + - script: > + organizationFolder('Gitea Organization Folder') { + organizations { + gitea { + serverUrl("https://git.example.com") + repoOwner("OWN") + credentialsId("gitea-token") + + traits { + giteaExcludeArchivedRepositories {} + giteaTagDiscovery {} + giteaBranchDiscovery { + strategyId(1) + } + giteaPullRequestDiscovery { + strategyId(2) + } + giteaForkDiscovery { + strategyId(1) + trust { + giteaTrustContributors {} + } + } + giteaWebhookRegistration { + mode('ITEM') + } + giteaSSHCheckout { + credentialsId('ssh-gitea') + } + } + } + } + } diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SeedJobTest_withSecrets.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SeedJobTest_withSecrets.yml new file mode 100644 index 0000000000..a6530610aa --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SeedJobTest_withSecrets.yml @@ -0,0 +1,2 @@ +jobs: + - file: ${SEED_JOB_PATH} diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SeedJobTest_withSecurityConfig.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SeedJobTest_withSecurityConfig.yml new file mode 100644 index 0000000000..fee5ddd384 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SeedJobTest_withSecurityConfig.yml @@ -0,0 +1,14 @@ +security: + GlobalJobDslSecurityConfiguration: + useScriptSecurity: false + +jobs: + - file: ./src/test/resources/io/jenkins/plugins/casc/testJob2.groovy + - script: > + freeStyleJob('seedJobWithSecurityConfig') { + steps { + customWorkspace("$SEED_JOB_FOLDER_FILE_PATH") + dsl(['testJob2.groovy'], 'DISABLE') + } + } + - script: queue("seedJobWithSecurityConfig") diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SystemCredentialsTest.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SystemCredentialsTest.yml new file mode 100644 index 0000000000..8ac47a4522 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/SystemCredentialsTest.yml @@ -0,0 +1,34 @@ +credentials: + system: + domainCredentials: + - domain: + name: "test.com" + description: "test.com domain" + specifications: + - hostnameSpecification: + includes: "*.test.com" + credentials: + - usernamePassword: + scope: SYSTEM + id: sudo_password + username: root + password: ${SUDO_PASSWORD} + + # global credentials + - credentials: +# - certificate: +# scope: SYSTEM +# id: ssh_private_key +# password: ${SSH_KEY_PASSWORD} +# keyStoreSource: +# secretBytes: +# keyStoreFile: /docker/secret/id_rsa + - basicSSHUserPrivateKey: + scope: SYSTEM + id: ssh_with_passphrase_provided + username: ssh_root + passphrase: ${SSH_KEY_PASSWORD} + description: "SSH passphrase with private key file. Private key provided" + privateKeySource: + directEntry: + privateKey: ${SSH_PRIVATE_KEY} diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/TerraformConfiguratorTestExpected.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/TerraformConfiguratorTestExpected.yml new file mode 100644 index 0000000000..2527ebd1eb --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/TerraformConfiguratorTestExpected.yml @@ -0,0 +1,8 @@ +installations: +- home: "/terraform-0.11" + name: "terraform" + properties: + - installSource: + installers: + - terraformInstaller: + id: "0.11.9-linux-amd64" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/ToolDefaultPropertiesExportIgnoreList.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/ToolDefaultPropertiesExportIgnoreList.yml new file mode 100644 index 0000000000..e1093d26b2 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/ToolDefaultPropertiesExportIgnoreList.yml @@ -0,0 +1,5 @@ +tool: + jdk: + installations: + - name: default + home: "/jdk" # only needed so that in the export test it has a fixed path, otherwise it uses your actual JDK location diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/ToolDefaultPropertiesExportIgnoreListExpected.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/ToolDefaultPropertiesExportIgnoreListExpected.yml new file mode 100644 index 0000000000..16cbaae9b2 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/ToolDefaultPropertiesExportIgnoreListExpected.yml @@ -0,0 +1,11 @@ +git: + installations: + - home: "git" + name: "Default" +jdk: + installations: + - home: "/jdk" + name: "default" +mavenGlobalConfig: + globalSettingsProvider: "standard" + settingsProvider: "standard" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/alias1.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/alias1.yml new file mode 100644 index 0000000000..5fe0f9a13c --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/alias1.yml @@ -0,0 +1,46 @@ +x-ec2_anchor: &ec2_anchor + associatePublicIp: false + connectBySSHProcess: false + connectionStrategy: PRIVATE_IP + deleteRootOnTermination: false + ebsOptimized: false + idleTerminationMinutes: "10" + maxTotalUses: -1 + monitoring: false + numExecutors: 1 + stopOnTerminate: false + useDedicatedTenancy: false + useEphemeralDevices: false + zone: "us-east-1" + ami: "ami-0c6bb742864ffa3f3" + securityGroups: "some-group" + remoteFS: "/home/ec2-user" + remoteAdmin: "ec2-user" + mode: "NORMAL" + amiType: + unixData: + rootCommandPrefix: "sudo" + slaveCommandPrefix: "sudo -u jenkins" + sshPort: "61120" + +jenkins: + clouds: + - amazonEC2: + name: "ec2" + instanceCapStr: 20 + # this shouldn't be needed, since without explicit creds this should already be used + # but let's be explicit to avoid issues. + useInstanceProfileForCredentials: true + # Reminder: the following key has multiple lines + privateKey: "${EC2_PRIVATE_KEY}" + noDelayProvisioning: true + region: "eu-central-1" + templates: + - description: "Auto configured EC2 Agent Small" + type: "T2Small" + labelString: "Small" + <<: *ec2_anchor + - description: "Auto configured EC2 Agent Large" + type: "T2Xlarge" + labelString: "Large" + <<: *ec2_anchor diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/azureKeyVault.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/azureKeyVault.yml new file mode 100644 index 0000000000..d854e4ee82 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/azureKeyVault.yml @@ -0,0 +1,4 @@ +unclassified: + azureKeyVault: + keyVaultURL: https://not-a-real-vault.vault.azure.net + credentialID: service-principal \ No newline at end of file diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/init.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/init.yml new file mode 100644 index 0000000000..98bfb82ca1 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/init.yml @@ -0,0 +1,300 @@ +jenkins: + mode: EXCLUSIVE + numExecutors: 5 + scmCheckoutRetryCount: 2 + clouds: + - kubernetes: + name: "kubernetes" + serverUrl: "https://kubernetes.default" + skipTlsVerify: true + namespace: "acme-devops-system" + credentialsId: "k8s-service-account" + jenkinsUrl: "http://ks-jenkins.acme-devops-system:80" + jenkinsTunnel: "ks-jenkins-agent.acme-devops-system:50000" + containerCapStr: "100" + connectTimeout: "60" + readTimeout: "60" + maxRequestsPerHostStr: "32" + templates: + - name: "base" + namespace: "acme-devops-system" + label: "base" + nodeUsageMode: "NORMAL" + idleMinutes: 0 + containers: + - name: "base" + image: "my-image:latest" + command: "cat" + args: "" + ttyEnabled: true + resourceRequestCpu: "100m" + resourceLimitCpu: "4000m" + resourceRequestMemory: "100Mi" + resourceLimitMemory: "8192Mi" + - name: "jnlp" + image: "inbound-agent:tag" + command: "jenkins-slave" + args: "^${computer.jnlpmac} ^${computer.name}" + resourceRequestCpu: "50m" + resourceRequestMemory: "400Mi" + resourceLimitMemory: "1536Mi" + workspaceVolume: + emptyDirWorkspaceVolume: + memory: false + volumes: + - hostPathVolume: + hostPath: "/var/run/docker.sock" + mountPath: "/var/run/docker.sock" + - hostPathVolume: + hostPath: "sonar_cache" + mountPath: "/root/.sonar/cache" + yaml: | + spec: + affinity: + nodeAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 1 + preference: + matchExpressions: + - key: node-role.kubernetes.io/worker + operator: In + values: + - ci + tolerations: + - key: \"node.kubernetes.io/ci\" + operator: \"Exists\" + effect: \"NoSchedule\" + - key: \"node.kubernetes.io/ci\" + operator: \"Exists\" + effect: \"PreferNoSchedule\" + containers: + - name: \"base\" + resources: + requests: + ephemeral-storage: \"1Gi\" + limits: + ephemeral-storage: \"10Gi\" + securityContext: + fsGroup: 1000 + - name: "nodejs" + namespace: "acme-devops-system" + label: "nodejs" + nodeUsageMode: "EXCLUSIVE" + idleMinutes: 0 + containers: + - name: "nodejs" + image: "nodejs:latest" + command: "cat" + args: "" + ttyEnabled: true + resourceRequestCpu: "100m" + resourceLimitCpu: "4000m" + resourceRequestMemory: "100Mi" + resourceLimitMemory: "8192Mi" + - name: "jnlp" + image: "inbound-agent:latest" + command: "jenkins-slave" + args: "^${computer.jnlpmac} ^${computer.name}" + resourceRequestCpu: "50m" + resourceRequestMemory: "400Mi" + resourceLimitMemory: "1536Mi" + workspaceVolume: + emptyDirWorkspaceVolume: + memory: false + volumes: + - hostPathVolume: + hostPath: "/var/run/docker.sock" + mountPath: "/var/run/docker.sock" + - hostPathVolume: + hostPath: "jenkins_nodejs_yarn_cache" + mountPath: "/root/.yarn" + - hostPathVolume: + hostPath: "jenkins_nodejs_npm_cache" + mountPath: "/root/.npm" + - hostPathVolume: + hostPath: "sonar_cache" + mountPath: "/root/.sonar/cache" + yaml: | + spec: + affinity: + nodeAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 1 + preference: + matchExpressions: + - key: node-role.kubernetes.io/worker + operator: In + values: + - ci + tolerations: + - key: \"node.kubernetes.io/ci\" + operator: \"Exists\" + effect: \"NoSchedule\" + - key: \"node.kubernetes.io/ci\" + operator: \"Exists\" + effect: \"PreferNoSchedule\" + containers: + - name: \"nodejs\" + resources: + requests: + ephemeral-storage: \"1Gi\" + limits: + ephemeral-storage: \"10Gi\" + securityContext: + fsGroup: 1000 + - name: "maven" + namespace: "acme-devops-system" + label: "maven" + nodeUsageMode: "EXCLUSIVE" + idleMinutes: 0 + containers: + - name: "maven" + image: "maven:latest" + command: "cat" + args: "" + ttyEnabled: true + resourceRequestCpu: "100m" + resourceLimitCpu: "4000m" + resourceRequestMemory: "100Mi" + resourceLimitMemory: "8192Mi" + - name: "jnlp" + image: "inbound-agent:latest" + command: "jenkins-slave" + args: "^${computer.jnlpmac} ^${computer.name}" + resourceRequestCpu: "50m" + resourceRequestMemory: "400Mi" + resourceLimitMemory: "1536Mi" + workspaceVolume: + emptyDirWorkspaceVolume: + memory: false + volumes: + - hostPathVolume: + hostPath: "/var/run/docker.sock" + mountPath: "/var/run/docker.sock" + - hostPathVolume: + hostPath: "jenkins_maven_cache" + mountPath: "/root/.m2" + - hostPathVolume: + hostPath: "sonar_cache" + mountPath: "/root/.sonar/cache" + yaml: | + spec: + affinity: + nodeAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 1 + preference: + matchExpressions: + - key: node-role.kubernetes.io/worker + operator: In + values: + - ci + tolerations: + - key: \"node.kubernetes.io/ci\" + operator: \"Exists\" + effect: \"NoSchedule\" + - key: \"node.kubernetes.io/ci\" + operator: \"Exists\" + effect: \"PreferNoSchedule\" + containers: + - name: \"maven\" + resources: + requests: + ephemeral-storage: \"1Gi\" + limits: + ephemeral-storage: \"10Gi\" + volumeMounts: + - name: config-volume + mountPath: /opt/apache-maven-3.5.3/conf/settings.xml + subPath: settings.xml + volumes: + - name: config-volume + configMap: + name: ks-devops-agent + items: + - key: MavenSetting + path: settings.xml + securityContext: + fsGroup: 1000 + - name: "go" + namespace: "acme-devops-system" + label: "go" + nodeUsageMode: "EXCLUSIVE" + idleMinutes: 0 + containers: + - name: "go" + image: "go:latest" + command: "cat" + args: "" + ttyEnabled: true + resourceRequestCpu: "100m" + resourceLimitCpu: "4000m" + resourceRequestMemory: "100Mi" + resourceLimitMemory: "8192Mi" + - name: "jnlp" + image: "inbound-agent:latest" + command: "jenkins-slave" + args: "^${computer.jnlpmac} ^${computer.name}" + resourceRequestCpu: "50m" + resourceRequestMemory: "400Mi" + resourceLimitMemory: "1536Mi" + workspaceVolume: + emptyDirWorkspaceVolume: + memory: false + volumes: + - hostPathVolume: + hostPath: "/var/run/docker.sock" + mountPath: "/var/run/docker.sock" + - hostPathVolume: + hostPath: "jenkins_go_cache" + mountPath: "/home/jenkins/go/pkg" + - hostPathVolume: + hostPath: "sonar_cache" + mountPath: "/root/.sonar/cache" + yaml: | + spec: + affinity: + nodeAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 1 + preference: + matchExpressions: + - key: node-role.kubernetes.io/worker + operator: In + values: + - ci + tolerations: + - key: \"node.kubernetes.io/ci\" + operator: \"Exists\" + effect: \"NoSchedule\" + - key: \"node.kubernetes.io/ci\" + operator: \"Exists\" + effect: \"PreferNoSchedule\" + containers: + - name: \"go\" + resources: + requests: + ephemeral-storage: \"1Gi\" + limits: + ephemeral-storage: \"10Gi\" + securityContext: + fsGroup: 1000 + securityRealm: + ldap: + configurations: + - displayNameAttributeName: "uid" + mailAddressAttributeName: "mail" + inhibitInferRootDN: false + managerDN: "cn=admin,dc=acme,dc=io" + managerPasswordSecret: "admin" + rootDN: "dc=acme,dc=io" + userSearchBase: "ou=Users" + userSearch: "(&(objectClass=inetOrgPerson)(|(uid={0})(mail={0})))" + groupSearchBase: "ou=Groups" + groupSearchFilter: "(&(objectClass=posixGroup)(cn={0}))" + server: "ldap://openldap.acme-system.svc:389" + disableMailAddressResolver: false + disableRolePrefixing: true +unclassified: + location: + url: "http://my-jenkins:30180/" diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/mysecretfile.txt b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/mysecretfile.txt new file mode 100644 index 0000000000..b7f2a0c618 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/mysecretfile.txt @@ -0,0 +1 @@ +SUPER SECRET diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/private-key.pem b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/private-key.pem new file mode 100644 index 0000000000..11ae6a4b8d --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/private-key.pem @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQC2xOoDBS+RQiwYN+rY0YXYQ/WwmC9ICH7BCXfLUBSHAkF2Dvd0 +cvM2Ph2nOPiHdntrvD8JkzIv+S1RIqlBrzK6NRQ0ojoCvyawzY3cgzfQ4dfaOqUF +2bn4PscioLlq+Pbi3KYYwWUFue2iagRIxp0+/3F5WqOWPPy1twW7ddWPLQIDAQAB +AoGBAKOX7DKZ4LLvfRKMcpxyJpCme/L+tUuPtw1IUT7dxhH2deubh+lmvsXtoZM9 +jk+KQPz0+aOzanfAXMzD7qZJkGfQ91aG8OiD+YJnRqOc6C6vQBXiZgeHRqWH0VMG +rp9Xqd8MxEYScaJYMwoHiBCG/cb3c4kpEpZ03IzkekZdXlmhAkEA7iFEk5k1BZ1+ +BnKN9LxLR0EOKoSFJjxBihRP6+UD9BF+/1AlKlLW4hSq4458ppV5Wt4glHTcAQi/ +U+wOOz6DyQJBAMR8G0yjtmLjMBy870GaDxmwWjqSeYwPoHbvRTOml8Fz9fP4gBMi +PUEGJaEHMuPECIegZ93kwAGBT51Q7AZcukUCQGGmnNOWISsjUXndYh85U/ltURzY +aS2rygiQmdGXgY6F2jliqUr424ushAN6+9zoMPK1YlDetxVpe+QzSga7dRkCQQCB ++DI6rORdXziZGeUNuPGaJYxZyEA8hK25Xqag9ubVYXZlLpDRl0l7dKx5awCfpzGZ +PWLXZZQYqsfWIQwvXTEdAkEA2bziyReYAb9fi17alcvwZXGzyyMY8WOGns8NZKcq +INF8D3PDpcCyOvQI/TS3qHYmGyWdHiKCWsgBqE6kyjqpNQ== +-----END RSA PRIVATE KEY----- diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/secrets.properties b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/secrets.properties new file mode 100644 index 0000000000..de7f72fa08 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/secrets.properties @@ -0,0 +1,2 @@ +testuser = ken +testpassword = p/q2-q4! diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/slackSchema.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/slackSchema.yml new file mode 100644 index 0000000000..63041044a3 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/slackSchema.yml @@ -0,0 +1,4 @@ +unclassified: + slackNotifier: + teamDomain: workspace + tokenCredentialId: slack-token \ No newline at end of file diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/sonarSchema.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/sonarSchema.yml new file mode 100644 index 0000000000..f217754d2f --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/sonarSchema.yml @@ -0,0 +1,8 @@ +unclassified: + sonarGlobalConfiguration: + buildWrapperEnabled: false + installations: + - additionalAnalysisProperties: sonar.organization=jenkinsci + name: SonarQube + credentialsId: token + serverUrl: 'https://sonarcloud.io' \ No newline at end of file diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/sonarSchemaFull.yml b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/sonarSchemaFull.yml new file mode 100644 index 0000000000..2602642e9b --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/sonarSchemaFull.yml @@ -0,0 +1,15 @@ +unclassified: + sonarGlobalConfiguration: # mandatory + buildWrapperEnabled: true + installations: # mandatory + - name: "TEST" # id of the SonarQube configuration - to be used in jobs + serverUrl: "http://url:9000" + #credentialsId: token-sonarqube # id of the credentials containing sonar auth token (since 2.9 version) + serverAuthenticationToken: "token" # for retrocompatibility with versions < 2.9 + mojoVersion: "mojoVersion" + additionalProperties: "blah=blah" + additionalAnalysisProperties: "additionalAnalysisProperties" + triggers: + skipScmCause: true + skipUpstreamCause: true + envVar: "envVar" \ No newline at end of file diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/test.p12 b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/test.p12 new file mode 100644 index 0000000000..253d4081a3 Binary files /dev/null and b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/test.p12 differ diff --git a/integrations/bin/src/test/resources/io/jenkins/plugins/casc/testJob2.groovy b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/testJob2.groovy new file mode 100644 index 0000000000..8f6d89a131 --- /dev/null +++ b/integrations/bin/src/test/resources/io/jenkins/plugins/casc/testJob2.groovy @@ -0,0 +1,7 @@ +package io.jenkins.plugins.casc + +job('testJob2') { + steps { + maven('-e clean test') + } +}