Upload
perforce
View
78
Download
4
Embed Size (px)
DESCRIPTION
An overview of modern software deployment strategies
Citation preview
1
Sven Erik Knop Technical Marketing Manager
2
• Lockless Reads • AD/LDAP Integration • Deployment Strategies
– Edge/Commit Servers – DCS
• Linux Packaging
3
4
Reduce waiting time for users
Better utilization of hardware
Support Continuous Integration
5
• Requires server locks activated (“server.locks.dir”) • Requires change in database format
– Need to restore checkpoint for the upgrade • Changes locking order of some tables
• Controlled with configurable “db.peeking”
6
List of commands that run lockless: • annotate, branches, changes, clients, counters, depots, diff,
• diff2, dirs, filelog, files (-a) fixes, fstat (peeking=3), have,
• interchanges, integ, integed, istat, jobs, keys, labels, merge,
• print (-a), resolved, streams, sizes (-a), sync (peeking=3), users
• verify (2014.2), describe (2014.2)
List of commands that run partial lockless:
• copy, cstat, fstat, interchanges (copy), istat (copy), opened, sync
7
• Default in 2014.2 • Configurable db.peeking
– 0 : No peeking, old lock order – 1 : No peeking, new lock order (diagnostics only) – 2 : Peeking enabled (default in 2014.2) – 3 : Peeking enabled (no hx/dx optimization)
• Peeking=3 slower for many revisions per file – but no locking of db.revhx/db.revdx table
8
9
• Authenticate user with password against AD/LDAP • Replaces auth-check triggers
– when used, disables existing auth triggers
• Several new commands – p4 ldap [-t username] <ldapname> – p4 ldaps [-t username] – p4 configure set auth.ldap.order.N
10
11
• Simple – Search explicitly for a DN – cn=%user%,ou=Users,dc=p4,dc=com
• Search – Use a query to find a DN – (&(objectClass=user)(sAMAccountName=%user%))
• SASL – Easiest form and supported by AD (but not all LDAP)
12
• User spec contains new field – AuthMethod : perforce or ldap – A perforce user is authenticated through P4D
• Configurable auth.default.method – Used for new users – If matching user in LDAP, the user is created in P4D
13
14
• Full Perforce Server – contains all users and data • Build Servers – local workspaces, but no updates • Forwarding Replicas – full server, local content • Filtered Replicas – Replicas with some content
• Depot Server – Only contains data • Workspace Server – Data and workspaces
15
Depot
Workspace Workspace
• Reduce hardware requirements for individual servers
• Keep workspaces local
• Submits propagated to the depot server • All other commands executed locally
• Workspace server contains replica of depot
16
• Replace build servers – Enable build processes to submit artifacts
• Regional Workspace servers – Co-located teams – Workspaces and shelves are only visible locally
• Large-scale development teams – Separate local workspace servers – Shared storage environment
17
18
• Perforce DCS appears as a single server • Horizontal scalability
– Multiple workspace servers • Automatic DCS failover
– Depot-master to depot-standby
• Shared depot storage
19
• Underlying architecture is available in 2014.2 • Perforce Cluster Manager later in 2014
• Simplifies deployment of DCS
20
21
• Simple installation on Linux – Both APT and RPM repositories are supported
• http:://package.perforce.com
• Add public key and repo to available sources – APT: sudo apt-get install perforce-server – RPM: sudo yum install perforce-server
22
• Perforce Server (incl. P4DCTL) • Perforce Client • Swarm • Git Fusion • P4Python
23