GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  SHIPIT (3)

.ds Aq ’

NAME

ShipIt - software release tool

CONTENTS

SYNOPSIS



 shipit



OVERVIEW

Releasing a new version of software takes a lot of steps... finding the next version number (and making sure you didn’t already use that version number before), making sure your changelog is updated, making sure your make dist results in a tarball that builds, commiting changes (with updated version number), tagging, and uploading the tarball somewhere.

Or maybe more steps. Or not some of the above. Maybe you forgot something! And maybe you manage multiple projects, and each project has a different release process.

This is all a pain in the ass.

You want to be hacking, not jumping through hoops.

Your contributors want to see their patches actually make it into a release, which won’t happen if you’re afraid of releases.

<B>shipitB> automates all the hell. It makes life beautiful.

HOW TO USE

Three steps: run shipit --write-config to make a dummy/template config, edit config file, then run shipit again

    Step 1/3: Write out template config file

In the root directory of your project, run:



  $ shipit --write-config



And it’ll bring up your $EDITOR, so you can do step 2...

    Step 2/3: Tweak your config file

The default config file is something like:



  # auto-generated shipit config file.
  steps = FindVersion, ChangeVersion, CheckChangeLog, DistTest, Commit, Tag, MakeDist

  # svn.tagpattern = MyProj-%v
  # svn.tagpattern = http://code.example.com/svn/tags/MyProj-%v

  # CheckChangeLog.files = ChangeLog, MyProj.CHANGES



Tweak away. You may want to add the UploadCPAN step at the end of steps, as it isn’t included by default. It requires cpan-upload or cpan-upload-http installed.

The comma-separate steps are ShipIt::Step subclasses. Each one may or may accept additional config, as you can see the CheckChangeLog step does. (although CheckChangeLog by default figures it out, how your changelog files are named)

All values have sensible defaults, and any missing/extra keys generate errors.

For more info on svn.tagpattern, see ShipIt::VC::SVN.

    Step 3/3: Run ’shipit’ again

From the root directory of your project, where your new .shipit config file is, type <B>shipitB>:



   you@host:~/proj$ shipit



And then it does the rest, after verifying with you the version number you want to release.

If you’re really cautious, run with shipit --dry-run instead.

CONTRIBUTING

If you’d like to contribute to ShipIt (with either a bug report or patch), see:

<http://contributing.appspot.com/shipit>

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 SHIPIT (3) 2013-02-08

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.