Managing and Tracking Distributables

[article]

manipulate in most languages and can be directly loaded in Python, Perl, and Java, we'll have a very low barrier to entry with regards to their use by others. They're also easy to generate, meaning that regardless of how new or old the target build platform is, there won't be issues creating them. Finally, they're also in a format that can be easily hand-crafted. Even if your organization has yet to institute production builds or if developers are manually crafting builds, this file format is easy to create. Plus, it prepares us for a worst-case, lightweight release process.

Release Lightly

Knowing precisely what went out the door is a big part of releasing software—especially enterprise software. The steps described above definitely help, but having a lightweight release process based on our distribution, takes it a step further. I'll stress that the process I'm going to outline is not an "ideal" release process; rather, it is a lightweight one. The important part is the reliance on centralized distribution, which ensures that nothing can leave the building without at least some amount of tracking.

Lightly releasing when following the notions of centralized distribution is a three-step process:

    • Copy the full release (including sub-parts, such as the cut) into the release tree within the centralized distribution service, using a distinct versioning system.
    • Make a tag in the revision control system.
    • Let everyone know that Elvis has left the building.

Maintaining a single tree of releases within the centralized distribution server achieves the same benefits with regards to releases. There will never be a question regarding release location, release contents, or which release is correct. The tag in revision control helps others in the future find the original source. While the properties file from above will contain that information, developers are more attuned to searching revision control rather than a server tree.

Finally, your Elvis email. Releases are the best part of developing software. Sharing the joy is a great thing! Inform the expanded team, and let them know where they can pick up the release.

Quick Recap

Ultimately, the software release process becomes an automated process. At the end of the day, we're going to want to have checksums, code signing, and many other things. But, for now, we've achieved lightweight distribution with minimal impact to the development process.

About the author

TechWell Contributor's picture TechWell Contributor

The opinions and positions expressed within these guest posts are those of the author alone and do not represent those of the TechWell Community Sites. Guest authors represent that they have the right to distribute this content and that such content is not violating the legal rights of others. If you would like to contribute content to a TechWell Community Site, email editors@techwell.com.

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!

Upcoming Events

May 04
May 04
May 04
Jun 01