CentOS7 寶塔搭配git 實時更新項目源碼

上一篇文章 介紹瞭如何在CentOS7上 搭建GIT環境 詳見連接:https://www.cnblogs.com/mverting/p/10206532.htmlhtml

本章主要介紹git如何和wdcp搭配 , 作到實時提交修改git

若是按照網上常見的教程, 通常都是要新建git用戶和用戶組, 而wdcp裏站點默認的用戶是www組裏的www用戶, 若是強制把站點用戶改爲git , 不少項目會沒法正常運行, 因此本章就介紹若是以www這個用戶做爲git的默認用戶, 並實現git的倉庫和代碼分離web

一. 須要給www用戶建立用戶目錄shell

wdcp中www用戶默認的用戶目錄,指向的是dev/null, 咱們須要修改爲和本身建立的git用戶生成的用戶目錄同級的目錄 /home/www緩存

若是原來已經建立過用戶 只須要在/home文件夾中新建 www文件夾  服務器

cp /home/user1 /home/wwwssh

未建立過用戶的 先建立一個屬於www組的用戶 而後把目錄拷貝下就好了post

adduser -g www aaahtm

cp /home/aaa /home/wwwblog

userdel git

二.  修改用戶設置  設置www的用戶目錄

vi /etc/passwd

找到www用戶  修改爲以下 

www:x:xxx:xxx::/home/www:/usr/local/git/bin/git-shell

/home/www這是是用戶目錄,/usr/local/git/bin/git-shell 這個要設置成本身的git安裝的地址, 表示不容許www用戶使用ssh登陸,只能使用git的相關命令

三.  建立.ssh 目錄, 

www用戶是wdcp安裝時候就生成的, 咱們並不清楚是否有密碼, 也不能肯定是否能設置密碼, 因此這裏不用密碼登陸, 使用RSA驗證

cd /home/www/

mkdir .ssh #新建文件夾

chmod 700 .ssh

touch .ssh/authorized_keys #新建文件

chmod 600 .ssh/authorized_keys

後續用戶只須要向authorized_keys中添加本身的公鑰

四  建立git倉庫並添加git的鉤子文件

cd /home/www

git init --bare test.git #建立一個空倉庫 倉庫名字叫 test

cd test.git/hooks

vi post-receive  #git接收到用戶提交的提交更新後 會執行此文件中的內容

寫入下面內容  --work-tree 表明代碼文件夾 --git-dir  表明倉庫目錄

#!/bin/sh

git --work-tree=/www/web/test/public_html/addons/aaa --git-dir=/home/www/test.git checkout -f

保存後 記得要改權限 須要有可執行權限

chmod  777 /home/www/test.git/hooks/post-receive

這樣就把倉庫和實際代碼區域分開了  每當有改動提交到倉庫, 就會自動檢出到實際代碼文件夾

五  修改倉庫文件夾全部者爲www

chown www:www -R /home/www/test.git

就是說要保證--work-tree 代碼文件夾和--git-dir  倉庫文件夾的全部者一致  wdcp站點的默認全部者是www 因此這裏把倉庫文件夾的全部者也修改爲www

六  本地使用

git clone www@your-ip:test.git

這裏就是要用www用戶了

剩下的就是正常的git使用了  

此教程的要點 實際只有一個 就是要保證git倉庫的全部者 和 實際代碼文件夾的全部者一致 這樣才能作到實時的更新項目源碼 

清空git緩存

git rm -r --cached .

git add .

git commit -m 'update .gitignore'

服務器上執行 能夠直接把項目文件添加到倉庫 

做者:很是帥氣的暱稱吧 連接:https://www.jianshu.com/p/30f11666a72d 來源:簡書 簡書著做權歸做者全部,任何形式的轉載都請聯繫做者得到受權並註明出處。
相關文章
相關標籤/搜索