Presentation is loading. Please wait.

Presentation is loading. Please wait.

2014 Build & Infrastructure Engineering What It Is and Why You Need It Na’Tosha J. Bard October 9, 2014 #GHC14 2014.

Similar presentations


Presentation on theme: "2014 Build & Infrastructure Engineering What It Is and Why You Need It Na’Tosha J. Bard October 9, 2014 #GHC14 2014."— Presentation transcript:

1 2014 Build & Infrastructure Engineering What It Is and Why You Need It Na’Tosha J. Bard October 9, 2014 #GHC14 2014

2 What is Build Engineering?

3 2014 Build Engineering is the glue that holds the software development process together.

4 2014 Examples of Build Engineering  Choosing, configuring, customizing, and maintaining a CI server  Applying/Optimizing development models (branch-based, patch-based, etc.)  Build optimizations (distributed builds, bulk builds, etc.)  … and much more

5 2014 Why do I care?

6 2014 About the Speaker  Na’Tosha J. Bard  Copenhagen, Denmark  Lead Build & Infrastructure Developer, Unity Technologies  Open-Source and Linux Enthusiast

7 2014 What is Unity?  Game engine and content creation toolkit  Editor for Mac OSX and Windows  Runtime ported to ~20 platforms  Mostly written in C++  Gameplay code written in C#  Scripting engine for gameplay code built with Mono

8 2014 Build Engineering at Unity Technologies

9 2014 2010  Unstable SVN server  All developers commit directly to trunk  Unstable CI server  6 VisualStudio and Xcode solutions wrapped in Perl  Automated tests nightly on 2 platforms  4 machines for building  Deployment scripts running from developer machines  No automatic verification of deployed builds

10 2014  DVCS with Mercurial  Branch-based development  Project files generated with Jamplus  Stable CI solution (internally-developed)  Automated tests running on developer branches and on our mainline on 7+ platforms  Build Cloud of over 200 virtual and physical machines  Deployment scripts running from central deployment server with verification  Publishing portal for deployment is in-development

11 2014 Release Schedule Over Time Every 2 to 6 weeks Weekly

12 2014 Foundation of Build Infrastructure

13 2014 The 5 Pillars of Build Infrastructure  One-Click Builds  Build Automation  Continuous Integration  Automated Testing  Automated Deployment

14 2014 One-Click Builds Building your software with just one click.

15 2014 Benefits of One-Click Builds  KISS principle  Build early, build often  Groundwork for other software development principles

16 2014 Getting Started with One-Click Builds  Depends on your application  Cohesive buildsystem  Keep platform-dependent issues in mind!

17 2014 Build Automation A build server to run your one- click builds.

18 2014 Benefits of Build Automation  Verification  Parallelization  Groundwork for other software development principles

19 2014 Getting Started with Build Automation  TeamCity, Bamboo, Team Foundation Server  Jenkins, Buildbot  Give careful thought to buildserver/buildsystem configuration split

20 2014 Continuous Integration Continuously run your automated builds.

21 2014 Benefits of Continuous Integration  Increased developer productivity  Helps avoid “Integration Hell”  Automatically identifies exact failure point

22 2014 Getting Started with Continuous Integration  Generally, the same solutions as for Build Automation apply here  Note: Sometimes “Frequent Integration” is good enough

23 2014 Automated Testing Execute tests on your continuously-running builds.

24 2014 Automated Testing  Provides protection against regressions  Saves human resources  Keeps test suites from bit-rotting

25 2014 Getting Started with Automated Testing  Find a test framework for your technology  NUnit, JUnit, PyUnit (unittest)  Sometimes creating your own frameworks is an answer (i.e, High-Level Integration Tests)

26 2014 Automated Deployment Easily deploy your tested builds.

27 2014 Benefits of Automated Deployment  Less error-prone than manual publishing  Easy to verify  Easy to track release history

28 2014 Getting Started with Automated Deployment  Often related to build automation/CI solution  Highly dependent on your organization’s server infrastructure and type of software  Start with a simple script and expand

29 2014 The 5 Pillars of Build Infrastructure One-Click BuildsOne-Click Build Automation Continuous Integration Automated Testing Automated Deployment

30 2014 A Call to Arms: Tips for Getting Started  Just do something  When advocating for change, focus on the benefits  Don’t underestimate the value of having dedicated build engineers

31 2014 Thank You!

32 2014 Contact Information @natosha_bard https://linkedin.com/in/natoshabard +NaToshaBard

33 2014 Got Feedback? Rate and Review the session using the GHC Mobile App To download visit www.gracehopper.org


Download ppt "2014 Build & Infrastructure Engineering What It Is and Why You Need It Na’Tosha J. Bard October 9, 2014 #GHC14 2014."

Similar presentations


Ads by Google