parabuild: build and release management system for perforce
Post on 09-Feb-2022
3 Views
Preview:
TRANSCRIPT
1
Parabuild:Build and Release Management
Systemfor Perforce
2
Outline
• Introduction
• Notion Of A Software Build
• Software Build Management for Perforce
3
Perforce – Fast SCM
Perforce
- Fast
- Easy to use
- Common sense
How about builds?
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”)
5
Introduction
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
7
User Interface – Perforce Configuration
8
User Interface – Build Dashboard
9
Integration Builds
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
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
12
Scheduled Builds
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
14
Parallel Builds
15
Parallel Builds
• Run on multiple machines in parallel
• Integration, scheduled and manual schedules
• Multiplatform builds
• Build acceleration
• Work separation
16
Automatic Inter-branch Merging for P4
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
18
Solving Perforce Infrastructure Challenges
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
20
Q & A
Please visit www.viewtier.com for more information.
21
Build With Pleasure!
Thank you!
top related