Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Practical project automation
          Reinout van Rees
 http://www.thehealthagency.com/
     http://reinout.vanrees.org
Practical project automation
• Practical: tips & pointers, illustrated with examples from
  The Health Agency
• Project: y...
Project + repeatable + automatable
•   Bunch of code
•   Bunch of configuration
•   Probably scripts
•   Collect, inititia...
z3c.recipe.usercrontab
[apachelogcheck-cronjob]
recipe = z3c.recipe.usercrontab
times = 39 12 * * *
command = ${apachelogc...
tha.recipe.logcheck
Quality control: buildbot + tests
•   python setup.py test or bin/test
•   The jackpot: buildbot
•   Oops, I forgot aaaa
•...
Buildbot screenshot
Quality control: buildbot + tests
•   python setup.py test or bin/test
•   The jackpot: buildbot
•   Oops, I forgot aaaa
•...
Quality: make it easy to do the good thing
•   Small scripts: python instead of shell?
•   Automate away boring fault-attr...
zest.releaser
tha.coverage
Quality: make it easy to do the good thing
•   Small scripts: python instead of shell?
•   Automate away boring fault-attr...
Skeleton for namespaced library
Closing comments
•   Automation is nice work. Fun.
•   It ensures quality.
•   Get into the habit: do it also for your own...
Upcoming SlideShare
Loading in …5
×

Practical project automation

1,723 views

Published on

Talk for the Dutch python user group ("PUN") meeting in Veenendaal, May 2009. Goal: encourage you to automate your projects more.

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Practical project automation

  1. 1. Practical project automation Reinout van Rees http://www.thehealthagency.com/ http://reinout.vanrees.org
  2. 2. Practical project automation • Practical: tips & pointers, illustrated with examples from The Health Agency • Project: your projects are important, right? • Automation: get help from the computer
  3. 3. Project + repeatable + automatable • Bunch of code • Bunch of configuration • Probably scripts • Collect, inititialize, convert, (compile) • => BUILD TOOLS • Make, scons, a.a.p., buildout • Write buildout extensions • Example: z3c.recipe.usercrontab • Example: tha.recipe.logcheck
  4. 4. z3c.recipe.usercrontab [apachelogcheck-cronjob] recipe = z3c.recipe.usercrontab times = 39 12 * * * command = ${apachelogcheck:command}
  5. 5. tha.recipe.logcheck
  6. 6. Quality control: buildbot + tests • python setup.py test or bin/test • The jackpot: buildbot • Oops, I forgot aaaa • Oops, I forgot bbbb • Oops, I did cccc • Example: content (xml docbook) checking
  7. 7. Buildbot screenshot
  8. 8. Quality control: buildbot + tests • python setup.py test or bin/test • The jackpot: buildbot • Oops, I forgot aaaa • Oops, I forgot bbbb • Oops, I did cccc • Example: content (xml docbook) checking
  9. 9. Quality: make it easy to do the good thing • Small scripts: python instead of shell? • Automate away boring fault-attracting tasks • Example: zest.releaser • Example: tha.coverage • Skeletons (“pastescript”, but see ZopeSkel) • Example: in-company skeletons
  10. 10. zest.releaser
  11. 11. tha.coverage
  12. 12. Quality: make it easy to do the good thing • Small scripts: python instead of shell? • Automate away boring fault-attracting tasks • Example: zest.releaser • Example: tha.coverage • Skeletons (“pastescript”, but see ZopeSkel) • Example: in-company skeletons
  13. 13. Skeleton for namespaced library
  14. 14. Closing comments • Automation is nice work. Fun. • It ensures quality. • Get into the habit: do it also for your own private tasks • It pays of in spades • So: automate your projects • http://reinout.vanrees.org/weblog • (Which I also largely automated, of course)

×