Назад | Перейти на главную страницу

GIT Website Delopyment, включая подмодули

Итак, у меня есть репозиторий GIT с парой подмодулей. Теперь я создал на своем веб-сервере перехватчик «post-update», который автоматически развертывает мой веб-сайт при обновлении.

Вот так выглядит мой хук после обновления:

#!/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

Все работает отлично, за исключением того, что каталоги подмодулей не экспортируются ... И это мой вопрос. Как я могу развернуть репозиторий GIT и его подмодули с помощью обработчика post-update?

Заранее спасибо!

Хорошо, я сделал скрипт, который избегает использования открытого репозитория и игнорирует receive.denyCurrentBranch

#!/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

Любые улучшения приветствуются

Он должен работать, за исключением того, что вы можете добавить, для ухода за этими подмодулями:

git submodule init
git submodule update

Смотрите также Использование git submodule update --init на обработчике сообщения если у вас есть сообщения об ошибках.