parabuild: build and release management system for perforce
TRANSCRIPT
![Page 1: Parabuild: Build and Release Management System for Perforce](https://reader030.vdocuments.us/reader030/viewer/2022021009/6203b147da24ad121e4c5c83/html5/thumbnails/1.jpg)
1
Parabuild:Build and Release Management
Systemfor Perforce
![Page 2: Parabuild: Build and Release Management System for Perforce](https://reader030.vdocuments.us/reader030/viewer/2022021009/6203b147da24ad121e4c5c83/html5/thumbnails/2.jpg)
2
Outline
• Introduction
• Notion Of A Software Build
• Software Build Management for Perforce
![Page 3: Parabuild: Build and Release Management System for Perforce](https://reader030.vdocuments.us/reader030/viewer/2022021009/6203b147da24ad121e4c5c83/html5/thumbnails/3.jpg)
3
Perforce – Fast SCM
Perforce
- Fast
- Easy to use
- Common sense
How about builds?
![Page 4: Parabuild: Build and Release Management System for Perforce](https://reader030.vdocuments.us/reader030/viewer/2022021009/6203b147da24ad121e4c5c83/html5/thumbnails/4.jpg)
4
Defining Software Build
• Process of transforming project code base into a usable application
• Also is used as a communication pattern to define:
1.Current state of the code base (“build is broken”)
2.Actual results of build process (“build #650 is in production)
3.Build tools and scripts (“run build at 2:00am”)
![Page 5: Parabuild: Build and Release Management System for Perforce](https://reader030.vdocuments.us/reader030/viewer/2022021009/6203b147da24ad121e4c5c83/html5/thumbnails/5.jpg)
5
Introduction
![Page 6: Parabuild: Build and Release Management System for Perforce](https://reader030.vdocuments.us/reader030/viewer/2022021009/6203b147da24ad121e4c5c83/html5/thumbnails/6.jpg)
6
Build and Release Management for Perforce
Parabuild• Continuous integration • Build and release management• Tightly integrated with Perforce• Perforce users make about 60% of customer base
Features
• User interface
• Build scheduling
• Build execution
• Load balancing
• Build notification
• Build archive management
• Security
![Page 7: Parabuild: Build and Release Management System for Perforce](https://reader030.vdocuments.us/reader030/viewer/2022021009/6203b147da24ad121e4c5c83/html5/thumbnails/7.jpg)
7
User Interface – Perforce Configuration
![Page 8: Parabuild: Build and Release Management System for Perforce](https://reader030.vdocuments.us/reader030/viewer/2022021009/6203b147da24ad121e4c5c83/html5/thumbnails/8.jpg)
8
User Interface – Build Dashboard
![Page 9: Parabuild: Build and Release Management System for Perforce](https://reader030.vdocuments.us/reader030/viewer/2022021009/6203b147da24ad121e4c5c83/html5/thumbnails/9.jpg)
9
Integration Builds
![Page 10: Parabuild: Build and Release Management System for Perforce](https://reader030.vdocuments.us/reader030/viewer/2022021009/6203b147da24ad121e4c5c83/html5/thumbnails/10.jpg)
10
Integration Builds
• Can use either polling or Perforce counters
• Ensure that new changes don’t break the build
• Run on checkin in or a group of checkins
• Run mostly at day time when developers are active
![Page 11: Parabuild: Build and Release Management System for Perforce](https://reader030.vdocuments.us/reader030/viewer/2022021009/6203b147da24ad121e4c5c83/html5/thumbnails/11.jpg)
11
Scheduled Builds
• Produce QA or UAT builds
• Run builds according to a schedule
• Old school - nightly
• New school - daily
– Can be fixed immediately
• May run builds on demand, multiple times a day
![Page 12: Parabuild: Build and Release Management System for Perforce](https://reader030.vdocuments.us/reader030/viewer/2022021009/6203b147da24ad121e4c5c83/html5/thumbnails/12.jpg)
12
Scheduled Builds
![Page 13: Parabuild: Build and Release Management System for Perforce](https://reader030.vdocuments.us/reader030/viewer/2022021009/6203b147da24ad121e4c5c83/html5/thumbnails/13.jpg)
13
Remote Multiplatform Builds
• Run everywhere Perforce client can ran
• Run platform-specific builds
• Balance load– Single machine can run only that number of builds
– Remote builders scale lineraly
![Page 14: Parabuild: Build and Release Management System for Perforce](https://reader030.vdocuments.us/reader030/viewer/2022021009/6203b147da24ad121e4c5c83/html5/thumbnails/14.jpg)
14
Parallel Builds
![Page 15: Parabuild: Build and Release Management System for Perforce](https://reader030.vdocuments.us/reader030/viewer/2022021009/6203b147da24ad121e4c5c83/html5/thumbnails/15.jpg)
15
Parallel Builds
• Run on multiple machines in parallel
• Integration, scheduled and manual schedules
• Multiplatform builds
• Build acceleration
• Work separation
![Page 16: Parabuild: Build and Release Management System for Perforce](https://reader030.vdocuments.us/reader030/viewer/2022021009/6203b147da24ad121e4c5c83/html5/thumbnails/16.jpg)
16
Automatic Inter-branch Merging for P4
![Page 17: Parabuild: Build and Release Management System for Perforce](https://reader030.vdocuments.us/reader030/viewer/2022021009/6203b147da24ad121e4c5c83/html5/thumbnails/17.jpg)
17
Automatic Inter-branch Merging for P4
• Parabuild automates routine inter-branch merges– Works thanks to Perforce integration tracking
– Unattended validated merges:
• Mainline -> Branch
• Branch -> Mainline
• Branch -> Branch
• Preserves change descriptions
– Standard integration cycle, but fully automated:
• Pick up change known to be successful
• Integrate
• Run build
• Run tests
• Submit
• Hold errors and conflict for manual resolution
![Page 18: Parabuild: Build and Release Management System for Perforce](https://reader030.vdocuments.us/reader030/viewer/2022021009/6203b147da24ad121e4c5c83/html5/thumbnails/18.jpg)
18
Solving Perforce Infrastructure Challenges
![Page 19: Parabuild: Build and Release Management System for Perforce](https://reader030.vdocuments.us/reader030/viewer/2022021009/6203b147da24ad121e4c5c83/html5/thumbnails/19.jpg)
19
Solving Perforce Infrastructure Challenges
Parabuild reduces build load on Perforce:
• Support for Perforce counters
– Practically free change detection
• Unbreakable scheduled builds
– Scheduled and release builds run only if there is work to do
– Lesser p4 sync –f …
• Remote builds
– Support for local Perforce proxies
– Reduced traffic on clean syncs
![Page 20: Parabuild: Build and Release Management System for Perforce](https://reader030.vdocuments.us/reader030/viewer/2022021009/6203b147da24ad121e4c5c83/html5/thumbnails/20.jpg)
20
Q & A
Please visit www.viewtier.com for more information.
![Page 21: Parabuild: Build and Release Management System for Perforce](https://reader030.vdocuments.us/reader030/viewer/2022021009/6203b147da24ad121e4c5c83/html5/thumbnails/21.jpg)
21
Build With Pleasure!
Thank you!