Practical project automation
Upcoming SlideShare
Loading in...5
×
 

Practical project automation

on

  • 2,280 views

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

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

Statistics

Views

Total Views
2,280
Views on SlideShare
2,238
Embed Views
42

Actions

Likes
0
Downloads
17
Comments
0

4 Embeds 42

http://www.scoop.it 38
https://www.google.com 2
http://www.slideshare.net 1
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />
  • <br /> <br />

Practical project automation Practical project automation Presentation Transcript

  • 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: your projects are important, right? • Automation: get help from the computer
  • 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
  • z3c.recipe.usercrontab [apachelogcheck-cronjob] recipe = z3c.recipe.usercrontab times = 39 12 * * * command = ${apachelogcheck:command}
  • tha.recipe.logcheck
  • 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
  • Buildbot screenshot
  • 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
  • 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
  • zest.releaser
  • tha.coverage
  • 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
  • Skeleton for namespaced library
  • 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)