commit b5105b7be5de7f36c54552880fc6814ebf409df8 Author: Jim Nicholson Date: Thu Feb 3 01:38:09 2022 -0800 Initial commit diff --git a/.groovylintrc.json b/.groovylintrc.json new file mode 100644 index 0000000..fd61255 --- /dev/null +++ b/.groovylintrc.json @@ -0,0 +1,14 @@ +{ + "extends": "recommended", + "rules": { + "CompileStatic": { + "enabled": false + }, + "DuplicateStringLiteral": { + "enabled": false + }, + "VariableName": { + "enabled": false + } + } +} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..6478188 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,3 @@ +FROM jenkins/jenkins:2.333-alpine +COPY --chown=jenkins:jenkins plugins.txt /usr/share/jenkins/ref/plugins.txt +RUN jenkins-plugin-cli --verbose -f /usr/share/jenkins/ref/plugins.txt -d /usr/share/jenkins/ref/plugins diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..328dae6 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,33 @@ +#!/usr/bin/env groovy +POD_LABEL = "jenkins-builder-${UUID.randomUUID()}" +REGISTRY = 'docker.home.thejimnicholson.com/jenkins' + +podTemplate(label: POD_LABEL, containers: [ + containerTemplate( + name: 'kaniko', + image: 'gcr.io/kaniko-project/executor:debug', + command: 'sleep', + args: '30d' + ) +], workspaceVolume: dynamicPVC()) { + node(POD_LABEL) { + stage('Checkout') { + checkout scm + } + container('kaniko') { + stage('Image') { + ansiColor('xterm') { + sh "/kaniko/executor \ + -f `pwd`/Dockerfile \ + -c `pwd` \ + --insecure \ + --skip-tls-verify \ +\ + --destination=${REGISTRY}/jenkins:2.333 \ + --destination=${REGISTRY}/jenkins:${GIT_HASH} \ + --destination=${REGISTRY}/jenkins:latest" + } + } + } + } +} diff --git a/plugins.txt b/plugins.txt new file mode 100644 index 0000000..e193360 --- /dev/null +++ b/plugins.txt @@ -0,0 +1,102 @@ +ace-editor +ansible +ansicolor +antisamy-markup-formatter +apache-httpcomponents-client-4-api +authentication-tokens +bootstrap4-api +bootstrap5-api +bouncycastle-api +branch-api +build-timeout +caffeine-api +checks-api +cloudbees-folder +command-launcher +config-file-provider +credentials +credentials-binding +dashboard-view +display-url-api +dtkit-api +durable-task +echarts-api +email-ext +external-monitor-job +font-awesome-api +git +git-client +git-server +gitea +github +github-api +github-branch-source +handlebars +handy-uri-templates-2-api +jackson2-api +javax-activation-api +javax-mail-api +jaxb +jdk-tool +jjwt-api +jquery3-api +jsch +junit +kubernetes +kubernetes-client-api +kubernetes-credentials +ldap +lockable-resources +mailer +matrix-auth +matrix-project +metrics +momentjs +nodejs +okhttp-api +pam-auth +pipeline-build-step +pipeline-github-lib +pipeline-graph-analysis +pipeline-input-step +pipeline-milestone-step +pipeline-model-api +pipeline-model-definition +pipeline-model-extensions +pipeline-rest-api +pipeline-stage-step +pipeline-stage-tags-metadata +pipeline-stage-view +plain-credentials +plugin-util-api +popper-api +popper2-api +proxmox +python +resource-disposer +scm-api +script-security +snakeyaml-api +ssh-agent +ssh-credentials +ssh-slaves +sshd +structs +timestamper +token-macro +trilead-api +variant +windows-slaves +workflow-aggregator +workflow-api +workflow-basic-steps +workflow-cps +workflow-cps-global-lib +workflow-durable-task-step +workflow-job +workflow-multibranch +workflow-scm-step +workflow-step-api +workflow-support +ws-cleanup +xunit \ No newline at end of file