Subversion For Administrators Training Course

Node ID: 3008
 

Duration

7 hours
 

Requirements

  • Users knowledge of working with Subversion
  • General system administration experience in the operating system(s)
  • Apache server basic knowledge
 

Public Course Dates

Can't find a course date that suits your needs below?
Then just submit a public course date request now!
And we will organize the training at a location and date to suit you.
Request Public Course Date >>

Overview

This course is for system administrators who need to install and maintain Subversion software and Subversion repository.

This aim of this course is to widen the skills of system administrators so that they can administer Subversion repository servers and provide the best advice of the practices of Subversion.

Course features a lot of exercises on CentOS v5 virtual machines.

 

Course Outline

SVN server setup

  • install the package and all dependences
  • to create one repository or several repositories with sensible location considerations, initial import, migrate from CVS and other version control systems

Fine-tune all kinds of access schemes, including http, https, svn, svn+ssh, file, specially to consider following

  • how to configure apache modules
  • to use ssh environment variables to shorten svn+ssh:// urls
  • to define proper user databases and design complex access control list or authorization patterns
  • to integrate with LDAP / domain controller / MySQL / PAM / etc for user authentications

Configure sensible repository layout

  • each sub-project has complete tree structure such as trunk, branches and tags, suitable for sub-projects are inclusive and self-contained, not much inter-dependence, APIs of each sub-projects are stable and mature
  • all modules exist on trunk / branches and tags, suitable for a logically compact project, there exists strong coupling among modules
  • difference and benefits

Backup strategy and disaster recovery

  • backup strategy, including: native method with svn sync, third-party tools such as rsync, hot copy
  • whole reposity backup vs each revision checkout or dump
  • disaster recovery
  • permanently remove files and history

Basic knowledge about managing repositories

  • normal working cycle with subversion (hand-on practices)
  • create branches and tages
  • create locks and other controls
  • design client-side tools and integrate them with IDEs
  • choose and configure repository viewing facilities
  • set general user policies, including set subversion hooks for those hard restrictions
  • design automatic check-out and build or compilation, and even automatic testing