词条 | Build automation |
释义 |
Build automation is the process of automating the creation of a software build and the associated processes including: compiling computer source code into binary code, packaging binary code, and running automated tests. OverviewHistorically, build automation was accomplished through makefiles. Today, there are two general categories of tools:[1]
Depending on the level of automation the following classification is possible:
A software list for each can be found in list of build automation software. Build-automation utilitiesBuild-automation utilities allow the automation of simple, repeatable tasks. When using the tool, it will calculate how to reach the goal by executing tasks in the correct, specific order and running each task. The two ways build tools differ are task-oriented vs. product-oriented. Task-oriented tools describe the dependency of networks in terms of a specific set task and product-oriented tools describe things in terms of the products they generate.[2] Build-automation serversAlthough build servers existed long before continuous-integration servers, they are generally synonymous with continuous-integration servers, however a build server may also be incorporated into an ARA tool or ALM tool. Server types
Distributed build automationAutomation is achieved through the use of a compile farm for either distributed compilation or the execution of the utility step.[3] The distributed build process must have machine intelligence to understand the source-code dependencies to execute the distributed build. Relationship to Continuous Delivery and Continuous IntegrationBuild automation is considered the first step in moving toward implementing a culture of Continuous Delivery and DevOps. Build automation combined with Continuous Integration, deployment, application-release automation, and many other processes help move an organization forward in establishing software-delivery best practices.[4]{{how|date=January 2018}} AdvantagesThe advantages of build automation to software development projects include
See also{{div col|colwidth=30em|content=
}} References1. ^{{cite book |last=Ceruzzi |first=Paul E. |date=2003 |title=A history of Modern computing |publisher= The MIT Press |isbn=978-0262532037}} {{DEFAULTSORT:Build Automation}}2. ^{{cite book |last=Clark |first=Mike |date=2004 |title=Pragmatic Project Automation: How to Build, Deploy, and Monitor Java Apps |publisher= The Pragmatic Programmers. |isbn=978-0974514031}} 3. ^{{cite journal |last= Enos |first= Joe |date= 2013 |title= Automated Builds: The Key to Consistency |url= http://www.infoq.com/articles/Automated-Builds |journal= InfoQ |publisher= C4Media Inc. |access-date= September 16, 2015}} 4. ^{{cite book |last1=Bashan |first1=Shmuel |last2=Bellagio |first2= David E. |date=2011 |title=Work Item Management with IBM Rational ClearQuest and Jazz: A customization Guide |publisher= IBM Press |isbn=978-0137001798}} 5. ^{{cite web|url=http://www.denverjug.org/meetings/files/200410_automation.pdf |title=Archived copy |accessdate=2008-09-19 |deadurl=yes |archiveurl=https://web.archive.org/web/20081123044304/http://www.denverjug.org/meetings/files/200410_automation.pdf |archivedate=2008-11-23 |df= }} 2 : Build automation|Types of tools used in software development |
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。