[Chicago] tell us how you do something

W. Matthew Wilson matt at tplus1.com
Tue May 10 17:45:50 CEST 2011

I run production from a checkout of a branch named "maint", short for

Then I have a master branch.  Usually, if I'm really OCD, I'll make a
separate branch off master for each feature or bug.  Then I merge the
topic into master as I finish.  Most of the time, I just develop
directly on master though.

I got all these ideas by reading the git workflows manual page.  If
you have an hour, read this:

$ git help workflows

I use fabric to do my production upgrades.  My fabric script does this:

1.  Make an SSH connection to the production box
2.  Tell supervisord to stop the webapp and the background scripts
3.  Do $ git pull origin maint; # think svn up if you're not familiar with git.
4.  Tell supervisord to start the webapp and the background scripts.

Sometimes I have to do stuff like alter the database schema, or use
easy_install to pull some new packages, or maybe do other sysadmin
tasks.  I'm still experimenting with how to do that stuff elegantly.

I'm probably going to do a talk at PyOhio this summer on using python
for system administration and deployment.  Right now I'm looking for
interesting (non-trivial) tasks that people want to automate but don't
know how to.

So, please, let me know if you face a thorny problem.


On Tue, May 10, 2011 at 11:29 AM, Carl Karsten <carl at personnelware.com> wrote:
> On Tue, May 10, 2011 at 10:20 AM, Carl Karsten <carl at personnelware.com> wrote:
>> We are light on talks.  The moment someone proposes talking, I'll spam
>> the local lists announcing it.
>> Someone must have something they are proud of.  Don't worry if you
>> don't think anyone will find it useful.
>> Generally I like talks that try to educate the group about something
>> some may apply in the near future.  I have noticed that there is value
>> in the talks that even if no one will apply the primary subject, the
>> resulting chatter it generates is good.
> Personally I am interested in how people deploy stuff, starting with:
> Code is in a code repo, developers say it is ready.  How does it get
> tested and deployed while the devs keep working on new stuff?
> I just install git on my production box and check out master.  works
> fine most of the time, but every so often I wish I was able to fix a
> bug without having to pull down stuff that isn't really ready yet.
> --
> Carl K
> _______________________________________________
> Chicago mailing list
> Chicago at python.org
> http://mail.python.org/mailman/listinfo/chicago

W. Matthew Wilson
matt at tplus1.com

More information about the Chicago mailing list