Parabuild: Build and Release Management System for Perforce

Preview:

Citation preview

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!

Recommended