Helix Versioning Engine Administrator Guide: · PDF fileServer background tasks ... Swarm...

311
Helix Versioning Engine Administrator Guide: Fundamentals 2018.1 March 2018

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