Task #99

Configure Jenkins instance for building branch-based instances from a makefile

Added by Sam Boyer over 1 year ago. Updated over 1 year ago.

Status:New Start date:12/12/2011
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:-
Target version:devops phase 1

Description

title pretty much says it all. we need the jenkins instance to listen to a git repo and spin up dev instances from that repo when changes occur. instances should be named by the branch the changes were pushed to.

package_from_git.erb - cookbooks/pennyworth/templates/default/package_from_git.erb (4.4 kB) Patrick Connolly, 12/17/2011 02:53 pm

drupal.json - data_bags/pennyworth/drupal.json (522 Bytes) Patrick Connolly, 12/17/2011 02:53 pm

History

Updated by Sam Boyer over 1 year ago

  • Target version set to devops phase 1

Updated by Patrick Connolly over 1 year ago

Posted a demo install profile and deploy repo that I'm working on with pennyworth:
https://github.com/patcon/demo-deploy

MY custom pennyworth repo isn't pushed yet, as I need to convert it to using the librarian gem for a cleaner layout (which the original project itself doesn't use), but basically just installed, drush5, mysql, php, and this drush make patch: http://drupal.org/node/1109002

(When I get it sorted out, I think i'm going to rework mark sonnabaums drush cookbook to allow it to pull in patches, as that just seems helpful:
https://github.com/msonnabaum/chef-drush

The attached files were the only files I editted/added to pennyworth

Updated by Patrick Connolly over 1 year ago

OK, got a pennyworth-drupal setup posted (on "drupal" branch):
https://github.com/myplanetdigital/pennyworth-drupal

Here's what it aims to do right now:
1. poll patcon/demo install profile for changes
2. pull in patcon/demo-deploy (which has all the scripts and submodule for the install profile)
3. drush_make site from install profile
4. drush site-install
5. drush archive-dump to package the site up into a tarball (to stay in sync with that format)
6. untars into dir
7. packages dir into simple deb (no post-install script yet to handle db import)
8. add package to reprepro apt repository to storage

It currently builds an install-profile according to patcon/demo-deploy repo and builds the DEFAULT install profile (the demo one was throwing a site-install error and I didn't feel like troubleshooting that at the moment).

https://github.com/patcon/demo-deploy
https://github.com/patcon/demo

If you'd like to test, just clone pennyworth-drupal, and run these commands:

git submodule init
git submodule update
librarian-chef install
vagrant up

The first build job should start automatically, and you can check it out jenkins at localhost:8080
apt repo is at localhost:8000

Would still like to get it using freight, as I've heard it's much better and less confusing than reprepro, and I'm working on that cookbook now
https://github.com/patcon/freight-cooking

Updated by Patrick Connolly over 1 year ago

Ah, and need to get jenkins using the build pipeline plugin for deploys. Will need to actually move to rackspace soon :)

Updated by Patrick Connolly over 1 year ago

Just commited changes to get demo install profile working:
https://github.com/patcon/demo/commit/d6514b6528ad46f2daf99c1dc5b5d27e6bff6d71

Updated by Patrick Connolly over 1 year ago

Pennyworth-drupal now has a really ugly readme (f*ck everything about emacs org-mode format)

https://github.com/myplanetdigital/pennyworth-drupal#readme

Also available in: Atom PDF