job-dsl-gradle-example
configuration-as-code-plugin
Our great sponsors
job-dsl-gradle-example | configuration-as-code-plugin | |
---|---|---|
2 | 12 | |
439 | 2,636 | |
- | 0.6% | |
0.0 | 9.0 | |
about 2 years ago | 7 days ago | |
Groovy | Java | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
job-dsl-gradle-example
-
Jenkins as code, part 2: Setting up the Jenkins job
Yeah I've tried with the later approach days ago and make it work today, thanks to this helpful repo: https://github.com/sheehan/job-dsl-gradle-example :D
-
CMV: Jenkins shouldn't be anywhere near a robust, mature application environment
Have a look at https://github.com/sheehan/job-dsl-gradle-example it's a nice example that even allows you to test your job configuration.
configuration-as-code-plugin
-
Help! Confused about the relationship between Software Engineering and DevOps
First, developers could be taking care of maintaining the CI/CD tool.. As is (dev)ops will provide a running instance and everything from there is dev's responsibility, eg. Jenkins via https://plugins.jenkins.io/configuration-as-code/ .
- Jenkins CASC plugin
-
The only Jenkins Plugins you need
configuration-as-code https://plugins.jenkins.io/configuration-as-code/
- Fully scripted Jenkins server with terraform
-
Setting up a Jenkins instance with Configuration as Code (using yaml configuration)
Now we are going to use Configuration as Code plugin and some other plugins.
-
Why do y'all hate Jenkins? (What pipeline tools do you use?)
Looks like it does pretty much everything except install plugins ("We don't support installing plugins with JCasC" https://github.com/jenkinsci/configuration-as-code-plugin/blob/master/README.md)
- Separate .yamls for Jenkins Configuration-as-Code
-
My School DevOps Project [part 1] - Jenkins
--- jenkins: numExecutors: 1 systemMessage: "Hi, jenkins setup with jcasc" securityRealm: local: allowsSignup: false # prevents anonymous users from creating an account through the web interface users: - id: ${JENKINS_ADMIN_ID} password: ${JENKINS_ADMIN_PASSWORD} authorizationStrategy: globalMatrix: permissions: #- "View/Delete:authenticated" #- "View/Read:authenticated" #- "View/Configure:authenticated" #- "View/Create:authenticated" - "Job/Read:authenticated" - "Job/Build:authenticated" - "Job/Configure:authenticated" - "Job/Create:authenticated" - "Job/Delete:authenticated" - "Job/Discover:authenticated" - "Job/Move:authenticated" - "Job/Workspace:authenticated" - "Job/Cancel:authenticated" - "Run/Delete:authenticated" - "Run/Replay:authenticated" - "Run/Update:authenticated" - "Overall/Read:admin" - "Overall/Administer:admin" crumbIssuer: "standard" # Docker: https://github.com/jenkinsci/configuration-as-code-plugin/tree/master/demos/docker clouds: - docker: name: "docker" dockerApi: dockerHost: uri: "unix:///var/run/docker.sock" templates: - labelString: "docker-agent" dockerTemplateBase: # TODO: pin sha256 or versions when using in production image: "jenkins/agent" remoteFs: "/home/jenkins/agent" connector: attach: user: "jenkins" instanceCapStr: "10" retentionStrategy: idleMinutes: 1 security: scriptApproval: approvedSignatures: - method java.lang.String indexOf int - method io.jenkins.plugins.casc.ConfigurationAsCode configure - staticMethod io.jenkins.plugins.casc.ConfigurationAsCode get tool: git: installations: - home: "git" name: "Default" jdk: installations: - home: "/opt/java/openjdk" name: "java" maven: installations: - name: "maven" properties: - installSource: installers: - maven: id: "3.6.2" jobs: - file: /var/jenkins_config/jobs/folders.groovy - file: /var/jenkins_config/jobs/jobs.groovy
-
Interesting Task
At my previous job the entirety of Jenkins was all in code. We would blow away our entire Jenkins instance and just copy/paste the config back into Jenkins and it would all be back. I believe that also had all of the configurations for the jobs as well. In that case, that could be ideal. If I remember correctly this was all done in Groovy and not using the Configuration as Code (YAML) plugin.
-
CMV: Jenkins shouldn't be anywhere near a robust, mature application environment
Most of the main plugins are configurable (here are some examples) and the rest you can configure via groovy. If there's good documentation, writing the groovy scripts is fairly easy too
What are some alternatives?
ods-jenkins-shared-library - Shared Jenkins library which all ODS projects & components use - provisioning, SonarQube code scanning, Nexus publishing, OpenShift template based deployments and repository orchestration
jenkins-bootstrap-shared - Jenkins as immutable infrastructure made easy. A repository of shared scripts meant to be used as a git submodule. Packing Jenkins, plugins, and scripts into immutable packages and images.
artifact-manager-s3-plugin - Artifact manager implementation for Amazon S3
job-dsl-plugin - A Groovy DSL for Jenkins Jobs - Sweeeeet!
warnings-ng-plugin - Jenkins Warnings Plugin - Next Generation
jenkins-script-console-scripts - A repository of one-off script console scripts for Jenkins.
pipeline - A cloud-native Pipeline resource.
jervis - Self service Jenkins job generation using Jenkins Job DSL plugin groovy scripts. Reads .jervis.yml and generates a job in Jenkins.
Design Patterns - Design patterns implemented in Java
S3-Upload-JMeter-Groovy - Upload files to AWS S3 in JMeter using Groovy
docker - Docker official jenkins repo