+ All Categories
Home > Technology > [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

Date post: 21-May-2015
Category:
Upload: perforce
View: 428 times
Download: 0 times
Share this document with a friend
Description:
Learn about an end-to-end solution that takes a pre-submitted code change and pumps it through an accelerated build system.
Popular Tags:
75
1 Novel Use of Perforce for Software Auto-updates and File Transfer Xavier Galvez Senior Engineer
Transcript
Page 1: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

1  

Novel Use of Perforce for Software Auto-updates and File Transfer

Xavier Galvez Senior Engineer

Page 2: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

2  

DEV  

DEV’S  COMPUTER  

Page 3: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

3  

DEV  

DEV’S  COMPUTER  

Page 4: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

4  

DEV  

DEV’S  COMPUTER  

BUILD  FARM  

Page 5: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

5  

DEV  

DEV’S  COMPUTER  

BUILD  FARM  

Page 6: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

6  

Pre-submit Developer Build (PSDB)

1)  Takes a code change before check-in

Page 7: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

7  

Pre-submit Developer Build (PSDB)

1)  Takes a code change before check-in 2)  Overlays changes on the last-known-good

Page 8: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

8  

Pre-submit Developer Build (PSDB)

1)  Takes a code change before check-in 2)  Overlays changes on the last-known-good 3)  Performs the build

Page 9: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

9  

Pre-submit Developer Build (PSDB)

1)  Takes a code change before check-in 2)  Overlays changes on the last-known-good 3)  Performs the build 4)  Runs tests and generates a report

Page 10: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

10  

DEV  

DEV’S  COMPUTER  

BUILD  FARM  

PSDB  

Page 11: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

11  

DEV  

DEV’S  COMPUTER  

BUILD  FARM  

PSDB  

Page 12: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

12  

DEV  

DEV’S  COMPUTER  

BUILD  FARM  

PSDB  

Page 13: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

13  

DEV  

DEV’S  COMPUTER  

BUILD  FARM  

PSDB  

ACC  BUILD  FARM  

Page 14: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

14  

DEV  

DEV’S  COMPUTER  

BUILD  FARM  

PSDB  

ACC  BUILD  FARM  AUTOMATED  TESTS  

Page 15: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

15  

DEV  

DEV’S  COMPUTER  

BUILD  FARM  

PSDB  

ACC  BUILD  FARM  AUTOMATED  TESTS  

Page 16: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

16  

DEV  

DEV’S  COMPUTER  

BUILD  FARM  

PSDB  

ACC  BUILD  FARM  AUTOMATED  TESTS  

Page 17: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

17  

DEV’S  COMPUTER  

PSDB  

Page 18: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

18  

First Attempt: Two Codebases

§  Perforce vs. SVN

Page 19: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

19  

First Attempt: Two Codebases

§  Perforce vs. SVN §  Windows® file share

Page 20: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

20  

First Attempt: Two Codebases

§  Perforce vs. SVN §  Windows® file share §  Windows: Robocopy

Page 21: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

21  

First Attempt: Two Codebases

§  Perforce vs. SVN §  Windows® file share §  Windows: Robocopy §  Linux: rsync + headaches

Page 22: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

22  

First Attempt: Two Codebases

§  Perforce vs. SVN §  Windows® file share §  Windows: Robocopy §  Linux: rsync + headaches §  No FTP or SCP

Page 23: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

23  

Keep It Super Simple

Page 24: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

24  

Keep It Super Simple

§  Quick, easy installation

Page 25: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

25  

Keep It Super Simple

§  Quick, easy installation §  Minimize number of actions

Page 26: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

26  

Keep It Super Simple

§  Quick, easy installation §  Minimize number of actions §  Clean visual validation

Page 27: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

27  

Keep It Super Simple

§  Quick, easy installation §  Minimize number of actions §  Clean visual validation §  Verbose yet readable log

Page 28: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

28  

Keep It Super Simple

§  Quick, easy installation §  Minimize number of actions §  Clean visual validation §  Verbose yet readable log §  Single codebase

Page 29: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

29  

Using P4 for File Transfers

Page 30: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

30  

Uploading Files

1)  Create new workspace on pre-submit depot

Page 31: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

31  

“Allwrite” is All Right

Page 32: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

32  

Uploading Files

1)  Create new workspace on pre-submit depot 2)  Create pending changelist and populate

Page 33: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

33  

Uploading Files

1)  Create new workspace on pre-submit depot 2)  Create pending changelist and populate 3)  Submit pending changelist and trigger PSDB

Page 34: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

34  

Benefits

§  Single codebase

Page 35: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

35  

Benefits

§  Single codebase §  Write-once/run-on-all OSes

Page 36: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

36  

Benefits

§  Single codebase §  Write-once/run-on-all OSes §  No need for separate database

Page 37: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

37  

Benefits

§  Single codebase §  Write-once/run-on-all OSes §  No need for separate database §  Leverages an existing framework

Page 38: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

38  

Benefits

§  Single codebase §  Write-once/run-on-all OSes §  No need for separate database §  Leverages an existing framework §  Eliminate race conditions

Page 39: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

39  

Shortcomings

§  No un-numbered default pending changelists

Page 40: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

40  

Shortcomings

§  No un-numbered default pending changelists §  Pre-submit depot fills quickly

Page 41: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

41  

Shortcomings

§  No un-numbered default pending changelists §  Pre-submit depot fills quickly §  No pre-submit for virtual integrations

Page 42: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

42  

Shortcomings

§  No un-numbered default pending changelists §  Pre-submit depot fills quickly §  No pre-submit for virtual integrations §  Perforce is overkill for file server

Page 43: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

43  

Shortcomings

§  No un-numbered default pending changelists §  Pre-submit depot fills quickly §  No pre-submit for virtual integrations §  Perforce is overkill for file server §  Local client is needed

Page 44: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

44  

Using P4 for Software Auto-updates

Page 45: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

45  

Why Auto-update?

§  Users get the newest features and fixes

Page 46: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

46  

Why Auto-update?

§  Users get the newest features and fixes §  Deployment is overhead

§  Packaging, announcing, enforcing

Page 47: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

47  

Why Auto-update?

§  Users get the newest features and fixes §  Deployment is overhead

§  Packaging, announcing, enforcing

§  Not all solutions are like web apps

Page 48: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

48  

Why Auto-update?

§  Users get the newest features and fixes §  Deployment is overhead

§  Packaging, announcing, enforcing

§  Not all solutions are like web apps §  Provide seamless experience for the user

Page 49: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

49  

Components Needed For Auto-update

Page 50: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

50  

Components Needed For Auto-update

1)  Centralized version-control system

Page 51: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

51  

Components Needed For Auto-update

1)  Centralized version-control system 2)  The “caller”

Page 52: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

52  

Components Needed For Auto-update

1)  Centralized version-control system 2)  The “caller” 3)  The “client”

Page 53: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

53  

DEV  DEV’S  

COMPUTER  

caller  

client  v1  

Page 54: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

54  

DEV  DEV’S  

COMPUTER  

caller  

client  v1   client  v1  

Page 55: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

55  

DEV  DEV’S  

COMPUTER  

caller  

client  v1   client  v1  

Page 56: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

56  

DEV  DEV’S  

COMPUTER  

client  v2  

AUTHOR  

caller  

client  v1  

Page 57: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

57  

DEV  DEV’S  

COMPUTER  

client  v2  

caller  

client  v1  

Page 58: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

58  

DEV  DEV’S  

COMPUTER  

client  v2  

caller  

client  v2  

Page 59: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

59  

Benefits

§  Leverages an existing Perforce set-up

Page 60: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

60  

Benefits

§  Leverages an existing Perforce set-up §  Latest “client” is always used

Page 61: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

61  

Benefits

§  Leverages an existing Perforce set-up §  Latest “client” is always used §  Tracking

Page 62: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

62  

Benefits

§  Leverages an existing Perforce set-up §  Latest “client” is always used §  Tracking §  Improved quality of service

Page 63: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

63  

Shortcomings

§  Full package is not updated

Page 64: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

64  

Shortcomings

§  Full package is not updated §  Perforce calls are done via shell

Page 65: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

65  

Putting It All Together

Page 66: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

66  

Windows Installer

Page 67: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

67  

Adding to P4V

Page 68: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

68  

Right-click on Pending Changelist

Page 69: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

69  

Right-click on Pending Changelist

Page 70: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

70  

Listing Modified Files

Page 71: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

71  

Listing Modified Files

Page 72: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

72  

Visual Validation

Page 73: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

73  

In Conclusion Novel Use of Perforce for Software Auto-updates and File Transfer in a Multi-OS Environment

Page 74: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

74  

Questions?

Page 75: [AMD] Novel Use of Perforce for Software Auto-updates and File Transfer

75  

Thank you! [email protected]


Recommended