From 070071a4472527c6796138a0a61f21d8e342627d Mon Sep 17 00:00:00 2001 From: Begona Guereca Date: Wed, 3 Aug 2022 22:26:34 +0000 Subject: [PATCH] Progamatically start jenkins wiht dockerfile --- jenkins/jenkins_setup/Dockerfile | 13 +++++++++++ jenkins/jenkins_setup/casc.yaml | 21 +++++++++++++++++ .../jenkins_jobs/test_job/builds/legacyIds | 0 .../jenkins_jobs/test_job/builds/permalinks | 6 +++++ .../jenkins_jobs/test_job/config.xml | 21 +++++++++++++++++ .../test_pipeline/builds/legacyIds | 0 .../test_pipeline/builds/permalinks | 6 +++++ .../jenkins_jobs/test_pipeline/config.xml | 23 +++++++++++++++++++ jenkins/jenkins_setup/plugins.txt | 21 +++++++++++++++++ 9 files changed, 111 insertions(+) create mode 100644 jenkins/jenkins_setup/Dockerfile create mode 100644 jenkins/jenkins_setup/casc.yaml create mode 100644 jenkins/jenkins_setup/jenkins_jobs/test_job/builds/legacyIds create mode 100644 jenkins/jenkins_setup/jenkins_jobs/test_job/builds/permalinks create mode 100644 jenkins/jenkins_setup/jenkins_jobs/test_job/config.xml create mode 100644 jenkins/jenkins_setup/jenkins_jobs/test_pipeline/builds/legacyIds create mode 100644 jenkins/jenkins_setup/jenkins_jobs/test_pipeline/builds/permalinks create mode 100644 jenkins/jenkins_setup/jenkins_jobs/test_pipeline/config.xml create mode 100644 jenkins/jenkins_setup/plugins.txt diff --git a/jenkins/jenkins_setup/Dockerfile b/jenkins/jenkins_setup/Dockerfile new file mode 100644 index 0000000..6d981ff --- /dev/null +++ b/jenkins/jenkins_setup/Dockerfile @@ -0,0 +1,13 @@ +FROM jenkins/jenkins:2.332.3-lts +ENV JAVA_OPTS -Djenkins.install.runSetupWizard=false +ENV CASC_JENKINS_CONFIG /var/jenkins_home/casc.yaml + +# add plugins +COPY /plugins.txt /usr/share/jenkins/ref/plugins.txt +RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/ref/plugins.txt + +# add security perms +COPY casc.yaml /var/jenkins_home/casc.yaml + +# seed with jobs +COPY jenkins_jobs /usr/share/jenkins/ref/jobs diff --git a/jenkins/jenkins_setup/casc.yaml b/jenkins/jenkins_setup/casc.yaml new file mode 100644 index 0000000..0fff894 --- /dev/null +++ b/jenkins/jenkins_setup/casc.yaml @@ -0,0 +1,21 @@ +jenkins: + securityRealm: + local: + allowsSignup: false + users: + - id: ${JENKINS_ADMIN_ID} + password: ${JENKINS_ADMIN_PASSWORD} + authorizationStrategy: + globalMatrix: + permissions: + - "Overall/Administer:admin" + - "Overall/Read:authenticated" + +security: + queueItemAuthenticator: + authenticators: + - global: + strategy: triggeringUsersAuthorizationStrategy +unclassified: + location: + url: http://8080:8080/ \ No newline at end of file diff --git a/jenkins/jenkins_setup/jenkins_jobs/test_job/builds/legacyIds b/jenkins/jenkins_setup/jenkins_jobs/test_job/builds/legacyIds new file mode 100644 index 0000000..e69de29 diff --git a/jenkins/jenkins_setup/jenkins_jobs/test_job/builds/permalinks b/jenkins/jenkins_setup/jenkins_jobs/test_job/builds/permalinks new file mode 100644 index 0000000..3e5edba --- /dev/null +++ b/jenkins/jenkins_setup/jenkins_jobs/test_job/builds/permalinks @@ -0,0 +1,6 @@ +lastCompletedBuild -1 +lastFailedBuild -1 +lastStableBuild -1 +lastSuccessfulBuild -1 +lastUnstableBuild -1 +lastUnsuccessfulBuild -1 diff --git a/jenkins/jenkins_setup/jenkins_jobs/test_job/config.xml b/jenkins/jenkins_setup/jenkins_jobs/test_job/config.xml new file mode 100644 index 0000000..4c1b831 --- /dev/null +++ b/jenkins/jenkins_setup/jenkins_jobs/test_job/config.xml @@ -0,0 +1,21 @@ + + + + false + + + true + false + false + false + + false + + + echo "hello from Jenkins Valet people!" + + + + + + \ No newline at end of file diff --git a/jenkins/jenkins_setup/jenkins_jobs/test_pipeline/builds/legacyIds b/jenkins/jenkins_setup/jenkins_jobs/test_pipeline/builds/legacyIds new file mode 100644 index 0000000..e69de29 diff --git a/jenkins/jenkins_setup/jenkins_jobs/test_pipeline/builds/permalinks b/jenkins/jenkins_setup/jenkins_jobs/test_pipeline/builds/permalinks new file mode 100644 index 0000000..3e5edba --- /dev/null +++ b/jenkins/jenkins_setup/jenkins_jobs/test_pipeline/builds/permalinks @@ -0,0 +1,6 @@ +lastCompletedBuild -1 +lastFailedBuild -1 +lastStableBuild -1 +lastSuccessfulBuild -1 +lastUnstableBuild -1 +lastUnsuccessfulBuild -1 diff --git a/jenkins/jenkins_setup/jenkins_jobs/test_pipeline/config.xml b/jenkins/jenkins_setup/jenkins_jobs/test_pipeline/config.xml new file mode 100644 index 0000000..2f6b7bc --- /dev/null +++ b/jenkins/jenkins_setup/jenkins_jobs/test_pipeline/config.xml @@ -0,0 +1,23 @@ + + + + false + + + + true + + + false + \ No newline at end of file diff --git a/jenkins/jenkins_setup/plugins.txt b/jenkins/jenkins_setup/plugins.txt new file mode 100644 index 0000000..aed9ac6 --- /dev/null +++ b/jenkins/jenkins_setup/plugins.txt @@ -0,0 +1,21 @@ +ant:latest +authorize-project:latest +antisamy-markup-formatter:latest +build-timeout:latest +cloudbees-folder:latest +configuration-as-code:latest +credentials-binding:latest +email-ext:latest +git:latest +github-branch-source:latest +gradle:latest +ldap:latest +mailer:latest +matrix-auth:latest +pam-auth:latest +pipeline-github-lib:latest +pipeline-stage-view:latest +ssh-slaves:latest +timestamper:latest +workflow-aggregator:latest +ws-cleanup:latest \ No newline at end of file