Jenkins main control repo for R10k
Go to file
R. Tyler Croy e4c8e31baf Upgrade to the latest puppetlabs_spec_helper from a slightly forked git repo
The puppetlabs_spec_helper main repository doesn't have a gemspec and cannot be
properly referred to from Bundler, so we had to fork it -_-
2014-04-30 20:46:02 -07:00
ci Add a basic Ruby environment for running linting and validation locally 2014-04-30 13:19:19 -07:00
dist Fix typo in file name, add fork to upstart tracking 2014-04-30 17:18:43 -07:00
hieradata Adding webhook and eyaml management 2014-04-30 16:36:08 -07:00
manifests
spec Properly include profile::accounts in the puppetmaster role 2014-04-30 17:12:28 -07:00
.fixtures.yml Properly generate `account` resources from our hiera data 2014-04-30 16:22:08 -07:00
.gitignore Properly generate `account` resources from our hiera data 2014-04-30 16:22:08 -07:00
Gemfile Upgrade to the latest puppetlabs_spec_helper from a slightly forked git repo 2014-04-30 20:46:02 -07:00
Gemfile.lock Upgrade to the latest puppetlabs_spec_helper from a slightly forked git repo 2014-04-30 20:46:02 -07:00
Puppetfile Fix stdlib name and formating 2014-04-30 17:02:21 -07:00
README.md Enumerate the steps needed to develop locally 2014-04-30 20:09:26 -07:00
Rakefile Avoid linting and validating Puppet manifests that are not owned by 'jenkins-infra' 2014-04-30 16:21:53 -07:00

README.md

Jenkins Infra

BuildStatus

This repository is the r10k control repository for the Jenkins project's own infrastructure.

NOTE: This repository and workflow are still a work in progress

Local development

The amount of testing that can be done locally is still a work in progress but thus far it's advisable that you do the following:

  • bundle install - To get the necessary gems to run tests locally, if you're unfamiliar with Ruby development you may want to use RVM to create an isolated Ruby environment
  • bundle exec rake spec lint - Will run the rspec-puppet unit tests and the puppet-lint style validation. If you intend to run the rspec-puppet over and over, use rake spec_standalone to avoid re-initializing the Puppet module fixtures every time.
  • Vagrant-based testing - coming soon

Branching model

The default branch of this repository is staging which is where pull requests should be applied to by default.


+----------------+
| pull-request-1 |
+-----------x----+
             \
              \ (review and merge, runs acceptance tests)
staging        \
|---------------o--x--x--x---------------->
                          \
                           \ (manual merge, auto-deploys to prod hosts)
production                  \
|----------------------------o------------->

The branching model is a little different than what you might be familiar with. We merge pull requests into a special branch called staging where we can run Puppet acceptance tests from. Once somebody has code reviewed a pull request it can be merged into staging.

When a infra project team member is happy with the code in staging they can create a merge from staging to production. Once something has been merged to production, it will be automatically deployed to production hosts.

Contributing