Skip to content

Instantly share code, notes, and snippets.

@sitle
Last active December 20, 2015 18:58
Show Gist options
  • Save sitle/6179587 to your computer and use it in GitHub Desktop.
Save sitle/6179587 to your computer and use it in GitHub Desktop.

Serveur GIT "privé"

J'ai cherché longtemps sur le web une manière simple et élégante d'installer un serveur git "privé". Malheureusement, soit les gens ont la fâcheuse tendance à rajouter énormément de chose spécifique à leurs environnement, soit la documentation n'est pas très compréhensible pour le commun des mortels... bref, comment installe t'on un serveur git "privé" ?

Installation des pré-requis

### On installe d'abord "git".

sudo apt-get install git-core

On installe ensuite "gitolite"

Gitolite n'est pas une option !!! Son utilité n'est pas visible avec un ou deux dépôts. Lorsque vous en aurez une quinzaine et que vous devez en plus, gérer des droits d'accès spécifiques, on comprends vite pourquoi ce n'est pas une ... option.

sudo apt-get install gitolite

Configuration

C'est ce que je met dans mon hook post-receive pour automatiquement déployer une application.

#!/bin/bash
APPSTORE=/tmp
GITOLITE_REPOSITORIES=/var/git/repositories
if [ $(git rev-parse --is-bare-repository) = true ]
then
REPOSITORY_BASENAME=$(basename "$PWD")
else
REPOSITORY_BASENAME=$(basename $(readlink -nf "$PWD"/..))
fi
REPOSITORY_NAME=$(echo $REPOSITORY_BASENAME|sed -e "s/\.git//")
unset $(git rev-parse --local-env-vars)
if [ -d ${APPSTORE}/${REPOSITORY_NAME} ]; then
cd ${APPSTORE}/${REPOSITORY_NAME}
git pull
else
cd ${APPSTORE}
git clone ${GITOLITE_REPOSITORIES}/${REPOSITORY_BASENAME}
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment