Delimitação do site GIT incluindo submódulos

2

Então eu tenho um repositório GIT com alguns submódulos. Agora eu criei um gancho "pós-atualização" no meu servidor da Web que implanta automaticamente meu site na atualização.

É assim que meu gancho de pós-atualização se parece:

#!/bin/sh
rm -rf /home/my_user/public_html/my_website/*
unset GIT_INDEX_FILE
export GIT_WORK_TREE=/home/my_user/public_html/my_website/
export GIT_DIR=/home/my_user/gitrepos/my_website.git
git checkout -f

Tudo funciona bem além do fato de que os diretórios dos submodules não são exportados ... E essa é a minha pergunta. Como posso implantar um repositório GIT e seus submódulos através do gancho pós-atualização?

Obrigado antecipadamente!

    
por n00b 18.12.2012 / 07:13

2 respostas

1

Tudo bem, eu fiz um script que evita o uso de um repositório não-nu e receive.denyCurrentBranch ignore

#!/bin/sh

# DIR VARS
DIR_GIT="/home/my_user/gitrepos/my_repo.git"
DIR_HTTP="/home/my_user/public_html/my_website"

unset GIT_DIR

# Recreate HTTP dir
rm -rf $DIR_HTTP
mkdir $DIR_HTTP

# Clone git repository
git clone $DIR_GIT $DIR_HTTP

# import submodules
cd $DIR_HTTP
git init --bare $DIR_HTTP
git submodule init
git submodule update

# delete unnecessary git repository in http dir
rm -rf $DIR_HTTP/.git

Quaisquer melhorias são bem-vindas

    
por 19.12.2012 / 16:18
1

Deveria funcionar, exceto que você poderia adicionar, por cuidar desses submódulos:

git submodule init
git submodule update

Veja também Usando o git submodule update --init em um post hook se você tiver mensagens de erro.

    
por 19.12.2012 / 09:42