Jimmy, Yes; I'd say ansible-pcd augments the ansible best practices recommendation ( http://docs.ansible.com/playbooks_best_practices.html ) with standards and flexible convenience components that make it easier for "me" to deal with multiple large environments.
I'm currently porting an application for deployment of [apache hosted] websites from git repositories; but am still re-working the general deploy bits. Open to ideas of course! :) Thanks for your interest. ~ Brice On Tuesday, March 25, 2014 4:50:02 AM UTC-5, Jimmy Tang wrote: > > Looks interesting, please upload the deploy bits... I can somewhat see > this breaking up of playbooks to be useful for large plays with lots of > steps. > > > On Mon, Mar 24, 2014 at 6:30 AM, Brice Burgess <[email protected]<javascript:> > > wrote: > >> I'd like to share the way I organize ansible to manage infrastructure >> with the community. >> >> I tend to think of infrastructure as partitioned into "systems", >> "services", and "applications"... and automation as "preparation", >> "configuration", and "deployment". This approach reduces execution times of >> playbooks, as it intrinsically strives to avoid the frequent execution of >> non-changing actions. >> >> A long time ago before there were roles. We had no built in magical >> conveniences or common structure to build upon. You had to develop your own >> organization and flow... and in doing so I created a hodge-podge of bash >> scripts and playbooks around this "pcd" concept. They worked great, but >> really were not ansible 1.2+ compatible. I've finally gotten around to >> refactoring & ignoring nuisances, and now have a new "framework" (or >> organizational base) I'd like to share. Roles and inventory sure do make it >> easier! >> >> https://github.com/iceburg-net/ansible-pcd >> >> A couple of goals; >> >> + Easy interdependence - e.g. an application can depend on >> `services/zookeeper` which can depend on `services/smtp`. The ec2-web-1 >> host can depend on `systems/web-server` which depends on `services/apache` >> and the `applications/apache-ng-security` application you're writing. >> >> + Provide common tasks/vars/handlers/files/templates for convenience and >> to reduce redundancy >> >> + Remain distribution agnostic (will support RedHat + Debian >> distributions, maybe more) >> >> + Utilize the "pcd" concept. Will utilize tagging once a monolithic >> site.yml is built. >> >> + Compartmentalize sensitive information (e.g. rsa keys, ssl certs) to >> help keep it out of version control (ignore /private) >> >> There's really not much there now... just an organizational base that >> outlines my general concept. I'll be adding services and applications as >> time avails. >> >> Hope someone finds it useful && would love to see other techniques. >> >> ~ Brice >> >> >> >> >> >> >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Ansible Project" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To post to this group, send email to [email protected]<javascript:> >> . >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/ansible-project/459c6617-8f79-4b7e-8c0b-1c71d13208ff%40googlegroups.com<https://groups.google.com/d/msgid/ansible-project/459c6617-8f79-4b7e-8c0b-1c71d13208ff%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > > > -- > http://www.sgenomics.org/~jtang/ > -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/14d734bb-37a8-4790-9043-fe8a9f58f557%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
