2009-08-27 11:54:23 +02:00
|
|
|
# installing gitolite
|
|
|
|
|
2009-10-11 05:01:59 +02:00
|
|
|
This document tells you how to install gitolite. After the install is done,
|
2009-10-30 16:55:06 +01:00
|
|
|
you may want to see the [admin document][admin] for adding users, repos, etc.
|
2009-10-11 05:01:59 +02:00
|
|
|
|
2009-10-30 16:55:06 +01:00
|
|
|
[admin]: http://github.com/sitaramc/gitolite/blob/pu/doc/2-admin.mkd
|
|
|
|
|
|
|
|
There's an easy install script that requires bash (**strongly** recommended),
|
|
|
|
but if you have no bash or you're on one of the legacy Unixes there's a
|
2009-10-11 05:01:59 +02:00
|
|
|
slightly more manual process. Both are explained here.
|
|
|
|
|
|
|
|
In this document:
|
|
|
|
|
|
|
|
* easy install
|
2009-10-25 14:53:15 +01:00
|
|
|
* typical example run
|
|
|
|
* advantages over the older install methods
|
|
|
|
* disadvantages
|
2009-10-11 05:01:59 +02:00
|
|
|
* manual install
|
2009-11-06 04:29:32 +01:00
|
|
|
* upgrades
|
2009-10-11 05:01:59 +02:00
|
|
|
* other notes
|
|
|
|
* next steps
|
|
|
|
|
|
|
|
----
|
|
|
|
|
2009-10-10 09:08:22 +02:00
|
|
|
### easy install
|
|
|
|
|
2009-10-11 05:01:59 +02:00
|
|
|
There is an easy install script that makes installing very easy for the common
|
|
|
|
case. **This script is meant to be run on your workstation, not on the
|
2009-10-10 09:08:22 +02:00
|
|
|
server!** It will take care of all the server side work, *and* get you
|
|
|
|
"push-to-admin" too :-) In short, it does **everything**!
|
|
|
|
|
2009-10-30 16:55:06 +01:00
|
|
|
Assumptions/pre-requisites:
|
2009-10-10 09:08:22 +02:00
|
|
|
|
|
|
|
* you have a server to host gitolite
|
|
|
|
* git is installed on that server (and so is perl)
|
|
|
|
* you have a userid on that server
|
2009-10-30 16:55:06 +01:00
|
|
|
* you have ssh-pubkey (**password-less**) login to that userid
|
2009-10-10 09:08:22 +02:00
|
|
|
* (if you have only password access, run `ssh-keygen -t rsa` to create a
|
|
|
|
new keypair if needed, then run `ssh-copy-id user@host`)
|
|
|
|
* you have a clone or an archive of gitolite somewhere on your workstation
|
|
|
|
|
|
|
|
If so, just `cd` to that clone and run `src/00-easy-install.sh` and follow the
|
|
|
|
prompts! (Running it without any arguments shows you usage plus other useful
|
|
|
|
info).
|
|
|
|
|
2009-10-25 14:53:15 +01:00
|
|
|
#### typical example run
|
|
|
|
|
|
|
|
A typical run for me is:
|
|
|
|
|
|
|
|
src/00-easy-install.sh -q git my.git.server sitaram
|
|
|
|
|
|
|
|
`-q` stands for "quiet" mode -- very minimal output, no verbose descriptions
|
|
|
|
of what it is going to do, and no pauses unless absolutely needed. However,
|
|
|
|
if you're doing this for the first time or you appreciate knowing what it is
|
|
|
|
actually doing, I suggest you skip the `-q`.
|
|
|
|
|
2009-10-10 09:08:22 +02:00
|
|
|
#### advantages over the older install methods
|
|
|
|
|
|
|
|
* all ssh problems reduced to **just one pre-requisite**: enable ssh pubkey
|
|
|
|
(password-less) access to the server from your workstation first
|
|
|
|
* the script takes care of all the server side work
|
|
|
|
* when done:
|
|
|
|
* you get two different pubkeys (the original one for command line
|
|
|
|
access as before, plus a new one, created by the script, for gitolite
|
|
|
|
access)
|
|
|
|
* you can admin gitolite by commit+push a "gitolite-admin" repo, just
|
|
|
|
like gitosis (i.e., full "push to admin" power!)
|
|
|
|
|
|
|
|
#### disadvantages
|
|
|
|
|
2009-10-30 16:55:06 +01:00
|
|
|
* need a recent bash
|
2009-10-10 09:08:22 +02:00
|
|
|
|
|
|
|
### manual install
|
|
|
|
|
2009-10-30 16:55:06 +01:00
|
|
|
If you don't have bash, it's not very complicated to do it manually. Just
|
|
|
|
open the file `src/00-easy-install.sh` in a nice, syntax coloring, text
|
|
|
|
editor, and follow the instructions marked "MANUAL" :-)
|
2009-08-27 11:54:23 +02:00
|
|
|
|
2009-11-06 04:29:32 +01:00
|
|
|
### upgrades
|
|
|
|
|
|
|
|
Upgrading gitolite is easy.
|
|
|
|
|
|
|
|
To upgrade, pull the latest "master" (or other) branch in your gitolite repo
|
|
|
|
clone, then run the same exact command you ran to do the install, except you
|
|
|
|
can leave out the last argument.
|
|
|
|
|
|
|
|
And you might want to add a `-q` to speed things up :-)
|
|
|
|
|
|
|
|
Note that this only upgrades the software. Unlike earlier versions, it does
|
|
|
|
**not** touch the `conf/gitolite.conf` file or the contents of `keydir` in any
|
|
|
|
way. I decided that it is not possible to **safely** let an upgrade do
|
|
|
|
something meaningful with them -- fiddling with existing config files (as
|
|
|
|
opposed to merely creating one which did not exist) is best left to a human.
|
|
|
|
|
2009-10-11 05:01:59 +02:00
|
|
|
### other notes
|
2009-08-30 08:38:54 +02:00
|
|
|
|
2009-10-30 16:55:06 +01:00
|
|
|
* if you run `src/00-easy-install.sh` without the `-q` option, you will be
|
|
|
|
given a chance to edit `~/.gitolite.rc`. You can change any options (such
|
|
|
|
as paths, for instance), but be sure to keep the perl syntax -- you
|
|
|
|
*don't* have to know perl to do so, it's fairly easy to guess in this
|
|
|
|
limited case.
|
2009-08-27 11:54:23 +02:00
|
|
|
|
2009-10-11 05:01:59 +02:00
|
|
|
### next steps
|
2009-08-27 11:54:23 +02:00
|
|
|
|
2009-10-30 16:55:06 +01:00
|
|
|
The last message produced by the easy install script should tell you how to
|
|
|
|
add users, repos, etc., and you will find more details in the [admin][admin]
|
|
|
|
document.
|