I've built one of these, and it was a lot of fun.

The interesting thing was, to me, how this automation script blossomed over time into what now stands as a utility very much like ant and nant. To give you an idea of how far I went, here is the list of "modules" that I could batch together and configure for the many different flavours of "build" I had on my plate at the time:

  • Check_For_Missing_Interfaces.pl
  • Check_Valid_Build_Number.pl
  • CompareBuilds.pl
  • CopyFile.pl
  • CopyFiles.pl
  • Create_Database.pl
  • Create_Dir.pl
  • Create_Readme.pl
  • Create_Zip.pl
  • DelDir.pl
  • DelFile.pl
  • Detach_Database.pl
  • Detach_db_and_zip.pl
  • Encrypt_Prod_Files.pl
  • Expand_Top_Level_DB_Script.pl
  • GatherModules.pl
  • GetArchiveRevisionNumbers.pl
  • Log_Message.pl
  • MSSQL_Attach_db.pl
  • MSSQL_Autofix_Users.pl
  • PVCS_Get.pl
  • PVCS_Get_Lock.pl
  • PVCS_Unlock.pl
  • Restore_Test_DB.pl
  • Run_SQL_Command.pl
  • Run_SQL_Script.pl
  • ShowErrorsAndFail.pl
  • Unzip.pl
  • Unzip_Attach_DB.pl
  • Update_DB_Script_Files.pl
  • Update_Version_and_Model_Number.pl
  • VSS_Get_Project_Files.pl
  • VSS_Get_DB_Scripts.pl
  • VSS_Label_Tip.pl
  • VSS_Remove_Project_Label.pl
  • VSS_Set_Project_Label.pl
  • WriteToControlFile.pl
  • WriteToLog.pl

I controlled builds by composing INI files (guess which platform I was on ;-), and I had a simple GUI I used to check/uncheck different steps in each. I was about to launch into writing a miniature scripting language, or perhaps just a mechanism for passing state information between steps, when I realised that I was reinventing the wheel in a major way and it was time to stop. Soon after, I changed jobs and the need for such a tool diminished.

 


In reply to Re: Pragmatic project automation by EdwardG
in thread Pragmatic project automation by sutch

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.