Skip to content

Playing around with Jenkins and infra/configuration as code. It's nice to be able to run things locally.

Notifications You must be signed in to change notification settings

bradschwartz/jenkinsci

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jenkins CI

Both companies I've worked for have used Jenkins, to varying levels of success. Saw some patterns I really liked, so wanted to replicate them here.

A large portion of this is to see if I can, and to be able to run Jenkins locally in a way that could potentially be useful by either running Jenkinsfiles or just having access to the exact same config that would be in the cloud.

Running

Works locally with make run, although it does expect some environment variables to be set to startup properly. Some are required, some are optional. Best practices would be to set these in the Dockerfile, or hard-code them in the CasC files directly, but this is convenient for testing without hardocding specific orgs for now.

## Required

# Required for jobs-dsl to startup properly, is name of the GitHub Organization
# Can be multiple space-separated orgs to create multiple organization folders
GITHUB_ORG

## Optional
GITHUB_CRED_ID # Set credentialsId used to pull from GitHub.

References

Minimal Requirements

  • Configuration as Code
  • Plugins installed in custom controller
    • No installations on bootup
  • GitHub Organization folder
  • The only thing that can cause downtime is changing the controller image. Everything else should either be library changes or worker changes. The point isn't to be perfect, but to be minimal and stable.

About

Playing around with Jenkins and infra/configuration as code. It's nice to be able to run things locally.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published