Helix Versioning Engine Administrator Guide: Fundamentals - 2016.2
Helix Versioning Engine Administrator Guide: · PDF fileServer background tasks ... Swarm...
Transcript of Helix Versioning Engine Administrator Guide: · PDF fileServer background tasks ... Swarm...
Helix Versioning Engine Administrator
Guide:Fundamentals2018.1
March 2018
Copyright1999-2018PerforceSoftware.
Allrightsreserved.
PerforceSoftwareanddocumentationisavailablefromwww.perforce.com.YoucandownloadandusePerforceprograms,butyoucannotsellorredistributethem.Youcandownload,print,copy,edit,andredistributethedocumentation,butyoucannotsellit,orsellanydocumentationderivedfromit.Youcannotmodifyorattempttoreverseengineertheprograms.
ThisproductissubjecttoU.S.exportcontrollawsandregulationsincluding,butnotlimitedto,theU.S.ExportAdministrationRegulations,theInternationalTrafficinArmsRegulationrequirements,andallapplicableend-use,end-useranddestinationrestrictions.Licenseeshallnotpermit,directlyorindirectly,useofanyPerforcetechnologyinorbyanyU.S.embargoedcountryorotherwiseinviolationofanyU.S.exportcontrollawsandregulations.
PerforceprogramsanddocumentsareavailablefromourWebsiteasis.Nowarrantyorsupportisprovided.Warrantiesandsupport,alongwithhighercapacityservers,aresoldbyPerforceSoftware.
PerforceSoftwareassumesnoresponsibilityorliabilityforanyerrorsorinaccuraciesthatmightappearinthisbook.Bydownloadingandusingourprogramsanddocumentsyouagreetotheseterms.
PerforceandInter-FileBranchingaretrademarksofPerforceSoftware.
Allotherbrandsorproductnamesaretrademarksorregisteredtrademarksoftheirrespectivecompaniesororganizations.
AnyadditionalsoftwareincludedwithinPerforceSoftwareislistedin"LicenseStatements"onpage311.
https://www.perforce.com/
Contents
How to use this guide 13Feedback 13
Otherdocumentation 13
Syntaxconventions 13
Whats new in this guide 152018.1release 15
2017.2release 15
"Triggersforexternalfiletransfer"onpage1 15Serverbackgroundtasks 15Parallelthreads 15
Overview 16Basicarchitecture 16
Basicworkflow 17
Administrativeaccess 18
NamingHelixServerobjects 18
Installing and upgrading the server 20Installarchitecture 20
Planningtheinstallation 20
Network 21CPU 21Memory 21Diskspaceallocation 21Filesystem 22Protectionsandpasswords 23
GettingHelixServer 23
Linuxpackage-basedinstallation 24
Installation 24Post-installationconfiguration 27Updating 29
UNIXnon-packageinstallation 31
Downloadingthefilesandmakingthemexecutable 32CreatingaHelixServerrootdirectory 32TellingHelixServerapplicationswhichporttoconnectto 32
3
Communicatingportinformation 33IPv6supportandmixednetworks 34RunningtheHelixServer(p4d)asanunprivilegeduser 34RunningfrominetdonUNIX 35StartingthePerforceservice 36StoppingthePerforceservice 36RestartingarunningPerforceservice 36
Windowsinstallation 37
Windowsservicesandservers 37InstallingthePerforceserviceonanetworkdrive 38StartingandstoppingthePerforceservice 38MultiplePerforceservicesunderWindows 39Windowsconfigurationparameterprecedence 40StartingandstoppingtheHelixServer 41Supportforlongfilenames 41
Installedfiles 42
UpgradingthePerforceservice 42
UsingoldHelixServerapplicationsafteranupgrade 43HelixServerLicensingandupgrades 43UpgradingHelixServer 43UpgradingHelixServer-between2013.2and2013.3 44Verifyingfilesbysignature 45
Releaseandlicenseinformation 46
Addingorupdatingthelicensefile 47
LicensefileintheP4ROOTdirectory 47p4licensecommand 48HelixVisualClient(P4V)Administrationtool 48
Configuring the server 50Enablingdistributedversioning 50
Definingfiletypeswithp4typemap 50
Implementingsite-wideexclusivelockingwithp4typemap 53
Definingdepots 53
Managingclientrequests 54
UsingP4PORTtocontrolaccesstotheserver 54Requiringminimumclientrevisions 54Rejectingclientconnectionrequests 55
4
Disablingusermetricscollectionprompt 56Casesensitivityandmulti-platformdevelopment 57
HelixServeronUNIX 57HelixServeronWindows 58
SettingupandmanagingUnicodeinstallations 58
Overview 58SettingupaserverforUnicode 59ConfiguringclientsforUnicode 62TroubleshootinguserworkstationsinUnicodeinstallations 65
Configuringlogging 65
Loggingerrors 66Loggingfileaccess 66
ConfiguringP4Vsettings 66
ViewingeffectiveP4Vproperties 67PrecedenceofP4Vsettings 67Performance-relatedP4Vproperties 68Feature-relatedP4Vproperties 70MiscellaneousP4Vproperties 73Swarmintegrationproperties 74StagingP4Vhelpfileslocally 76TroubleshootingP4Vproperties 77
Windowsconfigurationparameterprecedence 78
Working with depots 80Overview 80
Namingdepots 80Listingdepots 81Deletingdepots 81Movingdepotsinaproductionenvironment 81
Standarddepots 81
Streamdepots 82
Specdepot 82
Creatingthespecdepot 83Populatingthespecdepotwithcurrentforms 83Controllingwhichspecsareversioned 84Largesitesandoldfilesystems 84
Archivedepots 85
5
Unloaddepot 85
Remotedepotsanddistributeddevelopment 85
Howremotedepotswork 86Usingremotedepotsforcodedrops 87
Securing the server 92Securingtheserver:workflow 92
UsingSSLtoencryptconnectionstoaHelixServer 93
Serverandclientsetup 93Keyandcertificatemanagement 93Keyandcertificategeneration 94Secondaryciphersuite 97UsingSSLinamixedenvironment 97
Usingfirewalls 97
Authenticationoptions 98
Overview 98Serversecuritylevels 98Definingauthenticationforusers 100
Authenticatingusingpasswordsandtickets 101
Password-basedauthentication 102Passwordstrengthrequirements 102Managingandresettinguserpasswords 103Ticket-basedauthentication 103Loginprocessfortheuser 104Loginprocessfortheserver 104LoggingoutofHelixServer 105Determiningticketstatus 105Invalidatingausersticket 106
LDAPauthentication 106
AuthenticatingagainstActiveDirectoryandLDAPservers 106CreatinganLDAPconfiguration 107DefiningLDAP-relatedconfigurables 110AuthorizationusingLDAPgroups 111TestingandenablingLDAPconfigurations 111GettinginformationaboutLDAPservers 112UsingLDAPwithsinglesign-ontriggers 113
Authorizingaccess 113
6
Whenshouldprotectionsbeset? 113Settingprotectionswithp4protect 113Grantingaccesstogroupsofusers 121Commentsinprotectiontables 125Howprotectionsareimplemented 125AccesslevelsrequiredbyHelixServercommands 126
Backup and recovery 135Backupandrecoveryconcepts 135
Checkpointfiles 136Journalfiles 138Versionedfiles 140
Backupprocedures 141
Recoveryprocedures 144
Databasecorruption,versionedfilesunaffected 144Bothdatabaseandversionedfileslostordamaged 146Ensuringsystemintegrityafteranyrestoration 148
Monitoring the server 150Monitoringdiskspaceusage 150
Specifyingvaluesforfilesysconfigurables 150Determiningavailablediskspace 151
Monitoringprocesses 151
Enablingprocessmonitoring 151Enablingidleprocessesmonitoring 152Listingrunningprocesses 152
Settingservertraceandtrackingflags 153
Commandtracing 154Performancetracking 154
Showinginformationaboutlockedfiles 155
Auditinguserfileaccess 155
Loggingandstructuredlogfiles 156
Examplesofpossiblelogentries 156Loggingcommands 157Enablingstructuredlogging 157Structuredlogfilerotation 158
Managing the server and its resources 160Forcingoperationswiththe-fflag 160
7
Managingthesharingofcode 161
Managingdistributeddevelopment 162
DistributeddevelopmentusingFetchandPush 162Codedropswithoutconnectivity 164
Managingusers 165
Usertypes 165Preventingautomaticcreationofusers 167Renamingusers 168Deletingobsoleteusers 168Revertingfilesleftopenbyobsoleteusers 169
Deletingchangelistsandeditingchangelistdescriptions 169
Managingshelves 169
Backingupaworkspace 170
Managingdiskspace 170
DiskspaceRequirements 170Savingdiskspace 171Reclaimingdiskspacebyarchivingfiles 172Reclaimingdiskspacebyobliteratingfiles 173
Managingprocesses 174
Pausing,resuming,andterminatingprocesses 174Clearingentriesintheprocesstable 175
Managingthedatabasetables 175
ScriptedclientdeploymentonWindows 176
TroubleshootingWindowsinstallations 176
ResolvingWindows-relatedinstabilities 176ResolvingissueswithP4EDITORorP4DIFF 176
Tuning Helix Server for performance 178Tuningforperformance 178
Operatingsystems 178Disksubsystem 179Filesystems 179CPU 179Memory 181Network 181Journalandarchivelocation 182Usepatterns 182
8
Usingread-onlyclientsinautomatedbuilds 182Usingparallelprocessingforsubmitsandsyncs 183
Improvingconcurrencywithlocklessreads 184
Commandsimplementinglocklessreads 185Overridingthedefaultlockingbehavior 187Observingtheeffectoflocklessreads 187Side-trackserversmusthavethesamedb.peekinglevel 188
Diagnosingslowresponsetimes 188
Hostnamevs.IPaddress 188Windowswildcards 189DNSlookupsandthehostsfile 189Locationofthep4executable 189Workingoverunreliablenetworks 189
Preventingserverswamp 190
Usingtightviews 191Assigningprotections 192Limitingdatabasequeries 192Limitingsimultaneousconnections 194Unloadinginfrequently-usedmetadata 194Scriptingefficiently 196Usingcompressionefficiently 198Otherserverconfigurables 199
Checkpointsfordatabasetreerebalancing 199
Customizing Helix Server: job specifications 200ThedefaultHelixServerjobtemplate 200
Thejobtemplatesfields 201
TheFields:field 202TheValues:fields 204ThePresets:field 204TheComments:field 205
Caveats,warnings,andrecommendations 206
Example:acustomtemplate 206
Workingwiththird-partydefecttrackingsystems 208
P4DTG,thePerforceDefectTrackingGateway 208Buildingyourownintegration 209
Using triggers to customize behavior 210
9
Creatingtriggers 210
Sampletrigger 211Triggerdefinition 212Executionenvironment 214Triggerbasics 216
Triggeringonsubmits 223
Change-submittriggers 225Change-contenttriggers 226Change-committriggers 228
Triggeringonpushes