Rakennusautomaatio on tekniikka, jota käytetään ohjelmistokehityksen elinkaaren aikana, jolloin ohjelmiston lähdekoodi täytetään tietokoneen koneen kielikoodiksi automaation rakentamiskomentosarjan avulla. Tästä rakennusautomaatioprosessista on tullut yleinen käytäntö monimutkaisten ohjelmistoparadigmien kehityksen myötä. Kun ohjelmisto on kehittynyt ylhäältä alaspäin suunnitellusta ohjelmoinnista olio-suuntautuneiksi hajautetuiksi moduuleiksi, rakennusautomaatiosta on tullut kriittinen riippuvuus näiden komponenttien hallinnassa.
Monimutkaisten sovellusten kehittämisen elinkaaressa on useita vaiheita. Ensinnäkin ohjelmistokoodi kehitetään, testataan ja integroidaan itsenäiseen kehitysympäristöön. Kun kehittäjä on suorittanut koodin, se integroidaan jaettuun ympäristöön, jossa sen on oltava vuorovaikutuksessa muiden ohjelmistokomponenttien kanssa, joita muut kehittäjät voivat rakentaa. Ennen kuin koodi integroidaan jaettuun ympäristöön, on toteutettava useita varotoimia sen varmistamiseksi, että uusi kehitetty koodi ei vaikuta muiden ohjelmistokehitysryhmän kehittäjien koodiin.
Tyypillisesti rakennuksen automatisointi suoritetaan käyttämällä komentosarjakieltä, jonka avulla kehittäjä voi linkittää muita moduuleja ja prosesseja kokoamisprosessissa. Tämä komentosarjakieli sisältää laadukkaiden ohjelmistotuotteiden luomiseen tarvittavat manuaaliset tehtävät. Näihin tehtäviin kuuluu binaariohjelmistokoodin dokumentointi, testaus, kokoaminen ja jakelu.
Rakennusautomaatio tunnetaan parhaana käytäntönä ohjelmistokoodin luomisessa, koska se tarjoaa kyvyn varmistaa laadukkaammat ohjelmistot. Kooditestauksen automatisointi on ensisijainen syy tähän parannukseen. Pakottamalla testikomentosarjojen suorittaminen ennen koodimoduulien integrointia koottuun koodiin, ohjelmistoprojektissa on todennäköisesti vähemmän virheitä käyttöönottosyklin aikana.
Rakennusautomatiikan kehittyessä myös ohjelmistokehittäjien käyttämät komentosarjakielet ovat lähdekoodin kokoamisessa. Rakennusautomaation alkuvuosina monet tehtävät suorittivat omistautuneet rakennusasiantuntijat, jotka suorittivat rakennuskomentosarjoja käyttöjärjestelmän komentoriviltä. Nykyään nämä rakennetut komentosarjakielet on todella rakennettu useimpiin integroituihin kehitysympäristöpaketteihin (IDE).
Toinen rakennusautomaation keskeinen etu on kyky seurata vaikutuksia koodiin historiallisten kokoelmien perusteella. Rakennuskomentosarjan tehtävä sisältää koodin versionumeron luomisen. Tämän versionumeron avulla ohjelmiston kehittäjä ja testaajat voivat viitata siihen, milloin uusi virhe tuotiin tuotantoympäristöön.
Rakennusautomaatio on helpottanut ohjelmistojen kokoamisprosessin hallintaa ohjelmistokehitystiimissä. Tämä prosessi lisää tuottavuutta ja varmistaa laadukkaamman ohjelmistotuotteen ottamalla käyttöön uudelleenkäytettävät komentosarjat kaikille ohjelmistokokoelmille.