Download presentation
Presentation is loading. Please wait.
Published byGinger Wilcox Modified over 8 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.