Gitolite Essentials

Sophisticated access control for your Git server is now in reach with this fantastic introduction to Gitolite. In easy to follow chapters it takes you through the steps to managing users and repositories securely and efficiently.

Gitolite Essentials

Starting
Sitaram Chamarty

Sophisticated access control for your Git server is now in reach with this fantastic introduction to Gitolite. In easy to follow chapters it takes you through the steps to managing users and repositories securely and efficiently.
$17.99
$29.99
RRP $17.99
RRP $29.99
eBook
Print + eBook
$12.99 p/month

Get Access

Get Unlimited Access to every Packt eBook and Video course

Enjoy full and instant access to over 3000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Code Files
+ Collection
Free Sample

Book Details

ISBN 139781783282371
Paperback120 pages

About This Book

  • Learn to manage the many repositories and the users accessing these repositories in the Git server
  • Walks you through the most important ideas and concepts in Gitolite supported by examples and use cases
  • Master the most powerful tool for fine-grained access control of Git repositories

Who This Book Is For

This book is for system administrators and development managers who need to keep a lid on Git-based development workflows. Basic knowledge of Git as well as of the Unix shell will be helpful.

Table of Contents

Chapter 1: Getting Started with Gitolite
Common Access Control needs
Access Control example with Gitolite
Sampling of Gitolite's power features
Gitolite and the Git control flow
Trying out Gitolite
Summary
Chapter 2: Installing Gitolite
Gitolite users and the hosting user
Preparing the server
Getting the Gitolite source
Installing the code
Setting up Gitolite
Summary
Chapter 3: Your Users and Gitolite
Accessing Git repositories
Accessing Gitolite repositories
Getting information from Gitolite
Gitolite commands
Getting help for commands
Troubleshooting SSH issues
Summary
Chapter 4: Adding and Removing Users
Adding users
Users with multiple key pairs
Giving some users a shell
Managing keys outside Gitolite
Getting user group information from LDAP
Removing users
Summary
Chapter 5: Managing Repositories
Adding repositories
Adding existing repositories
Common problems and troubleshooting
Summary
Chapter 6: Getting Started with Access Control
Basic access control examples
Lexical syntax of the conf file
The syntax of access control rules
Branch level access control and refexes
Defining user and repo groups
The include statement
Rule accumulation and delegation
Summary
Chapter 7: Advanced Access Control and Configuration
Making changes to the rc file
Giving users their own branches
Types of write operations
Allowing Gitweb and Git-daemon access
Specifying Git config values and Gitolite options
Applying deny rules to read access
Understanding VREFs
Summary
Chapter 8: Allowing Users to Create Repos
Putting repositories in Sub-directories
Repository wildcards
Explaining wild repos to your users
Managing with just wild repos
Deleting wild repositories
Summary
Chapter 9: Customizing Gitolite
Core and non-core Gitolite
Types of non-core code and examples
Writing your own non-core code
Summary
Chapter 10: Understanding VREFs
Migrating update hooks
Passing arguments to the VREF code
Using the permission field
Default is success
Example VREFs and their usage
Writing your own VREF
Summary
Chapter 11: Mirroring
Terminology and basic concepts
Setting up mirroring
Local repositories and hostname substitution
Redirecting pushes
Manual synchronization
Switching to a different master
Summary

What You Will Learn

  • Secure a Git server that has many repositories and many users accessing it
  • Manage the growth of the server, both in the number of users and the number of repositories, with minimal hassle
  • Allow web-based access to specific repositories only for convenience and security
  • Provide your users with the features they need to be productive with Git, while preventing them from accidentally introducing inconsistencies and errors into the repositories
  • Permit users to create their own repositories and manage their own access control list, but within the limits you set
  • Customize Gitolite for your site's unique needs and constraints quickly and easily
  • Ensure your developers always have a backup option by setting up Gitolite mirroring

In Detail

If you're responsible for securing a Git server where lots of developers work with lots of repositories, you have a problem on your hands. You probably want to implement security restrictions and authorization for certain repositories. You will love the simplicity and power of Gitolite's access control language and model. Gitolite allows you to set up Git hosting on a central server with very fine-grained access control and many powerful features.

You'll start with a brief introduction to Gitolite. The very first chapter tells you how to create a test setup so you can play with Gitolite—something that is very important when learning about a powerful tool with lots of features. You'll go from there, at an easy pace, through the most important aspects of Gitolite.

Basic access control is easy and obvious. With this book, you will learn how to restrict access to critical files, allowing users to create their own repositories and manage their own access control, but within the limits you set. You will also learn how to extend Gitolite to do very useful things with very little code, and how to fall back on a mirror in case disaster strikes your main server. All this and more is packed within this concise and practical book with easy-to-follow, real-world examples.

Authors

Table of Contents

Chapter 1: Getting Started with Gitolite
Common Access Control needs
Access Control example with Gitolite
Sampling of Gitolite's power features
Gitolite and the Git control flow
Trying out Gitolite
Summary
Chapter 2: Installing Gitolite
Gitolite users and the hosting user
Preparing the server
Getting the Gitolite source
Installing the code
Setting up Gitolite
Summary
Chapter 3: Your Users and Gitolite
Accessing Git repositories
Accessing Gitolite repositories
Getting information from Gitolite
Gitolite commands
Getting help for commands
Troubleshooting SSH issues
Summary
Chapter 4: Adding and Removing Users
Adding users
Users with multiple key pairs
Giving some users a shell
Managing keys outside Gitolite
Getting user group information from LDAP
Removing users
Summary
Chapter 5: Managing Repositories
Adding repositories
Adding existing repositories
Common problems and troubleshooting
Summary
Chapter 6: Getting Started with Access Control
Basic access control examples
Lexical syntax of the conf file
The syntax of access control rules
Branch level access control and refexes
Defining user and repo groups
The include statement
Rule accumulation and delegation
Summary
Chapter 7: Advanced Access Control and Configuration
Making changes to the rc file
Giving users their own branches
Types of write operations
Allowing Gitweb and Git-daemon access
Specifying Git config values and Gitolite options
Applying deny rules to read access
Understanding VREFs
Summary
Chapter 8: Allowing Users to Create Repos
Putting repositories in Sub-directories
Repository wildcards
Explaining wild repos to your users
Managing with just wild repos
Deleting wild repositories
Summary
Chapter 9: Customizing Gitolite
Core and non-core Gitolite
Types of non-core code and examples
Writing your own non-core code
Summary
Chapter 10: Understanding VREFs
Migrating update hooks
Passing arguments to the VREF code
Using the permission field
Default is success
Example VREFs and their usage
Writing your own VREF
Summary
Chapter 11: Mirroring
Terminology and basic concepts
Setting up mirroring
Local repositories and hostname substitution
Redirecting pushes
Manual synchronization
Switching to a different master
Summary

Book Details

ISBN 139781783282371
Paperback120 pages
Read More

Recommended for You

Seam 2 Web Development: LITE
$ 9.99
PostgreSQL 9 Administration Cookbook: LITE Edition
$ 9.99
JSF 2.0 Cookbook: LITE
$ 9.99
Mootools 1.2 Beginners Guide LITE: Getting started
$ 9.99
PostgreSQL 9 Administration Cookbook LITE: Configuration, Monitoring and Maintenance
$ 9.99