我已經創建了一個簡單的Django應用程序,然後我提交併推送到Gitlab。最後,我想這是運行Ubuntu我的「生產服務器」上安裝該應用程序,以便從服務器端我運行命令:如何在使用Gitlab時在Ubuntu上部署Django應用程序
git clone https://domain.com/path/to/git
我無法找到克隆文件在我的Python代碼。
從gitlab存儲庫獲取python代碼的正確方法是什麼?
我已經創建了一個簡單的Django應用程序,然後我提交併推送到Gitlab。最後,我想這是運行Ubuntu我的「生產服務器」上安裝該應用程序,以便從服務器端我運行命令:如何在使用Gitlab時在Ubuntu上部署Django應用程序
git clone https://domain.com/path/to/git
我無法找到克隆文件在我的Python代碼。
從gitlab存儲庫獲取python代碼的正確方法是什麼?
該問題的分支,我解決選擇一個特定的分支,應用其次是適當的分支名稱選項「-b」,「發展」:
git clone -b develop https://example.com/username/projectname.git
首先,
你的git是否有所有的源代碼,包括pip安裝的應用程序?
那麼我不知道gitlab,並且基本上所有關於您在服務器上的配置都缺少,但是您可以在git repo上設置一個git鉤子。
這裏是一個post-receive hook的示例,用於部署一個示例django項目。
#!/bin/bash
while read oldrev newrev ref
do
if [[ $ref =~ .*/master$ ]];
then
echo "master branch received, deploying..."
GIT_WORK_TREE="/PATH/TO/DJANGO/PROJECT" git checkout -f master > /dev/null
source /PATH/TO/DJANGO/VIRTUAL/ENVIRONMENT/bin/activate > /dev/null
echo "installing new pip dependencies..."
pip install -r /PATH/TO/DJANGO/PROJECT/dependencies.txt > /dev/null
echo "applaying new db migrations..."
python /PATH/TO/DJANGO/PROJECT/manage.py migrate_schemas > /dev/null
deactivate > /dev/null
touch /PATH/TO/DJANGO/PROJECT/PROJECT_NAME/wsgi.py > /dev/null
echo "Sever code reloaded."
else
echo "Received branch $ref, not deploying."
fi
done
這麼幾個事情要考慮:
chmod +x FILE_NAME
pip freeze > dependencies.txt
(注意,在文件上一切都將在服務器上insatled)touch wsgi.py
生成它,如果你正在運行的Apache將重新加載代碼對daemon模式的mod_wsgi(more info)
請親提供克隆文件的列表,以便我們可以知道實際上拉下了什麼。 –