21
1 Parabuild: Build and Release Management System for Perforce

Parabuild: Build and Release Management System for Perforce

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Parabuild: Build and Release Management System for Perforce

1

Parabuild:Build and Release Management

Systemfor Perforce

Page 2: Parabuild: Build and Release Management System for Perforce

2

Outline

• Introduction

• Notion Of A Software Build

• Software Build Management for Perforce

Page 3: Parabuild: Build and Release Management System for Perforce

3

Perforce – Fast SCM

Perforce

- Fast

- Easy to use

- Common sense

How about builds?

Page 4: Parabuild: Build and Release Management System for Perforce

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

5

Introduction

Page 6: Parabuild: Build and Release Management System for Perforce

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

7

User Interface – Perforce Configuration

Page 8: Parabuild: Build and Release Management System for Perforce

8

User Interface – Build Dashboard

Page 9: Parabuild: Build and Release Management System for Perforce

9

Integration Builds

Page 10: Parabuild: Build and Release Management System for Perforce

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

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

12

Scheduled Builds

Page 13: Parabuild: Build and Release Management System for Perforce

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

14

Parallel Builds

Page 15: Parabuild: Build and Release Management System for Perforce

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

16

Automatic Inter-branch Merging for P4

Page 17: Parabuild: Build and Release Management System for Perforce

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

18

Solving Perforce Infrastructure Challenges

Page 19: Parabuild: Build and Release Management System for Perforce

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

20

Q & A

Please visit www.viewtier.com for more information.

Page 21: Parabuild: Build and Release Management System for Perforce

21

Build With Pleasure!

Thank you!