給朋友做的小專案,託管在gitee上,每次修改都要登入到伺服器上執行命令:
git pull
後了解到git的鉤子機制,進而發現了gitee的webhook,現在說下這玩意怎麼用。
本地執行git push命令,push**到gitee的伺服器上。
gitee接收到push請求後,呼叫我們自己的伺服器上的乙個介面。
這個介面下的**來執行git pull和重啟服務等命令(如果需要的話) 完成**的部署。
上面的過程中,我們需要做的就是實現乙個介面。這個可以完成拉取**、重啟服務等步驟,如果是php開發的應用,只需要pull**即可。
這個介面可以用自己熟悉的語言開發,比如php,python等指令碼語言,簡單粗暴。
下面我們來用php寫乙個demo
新建乙個叫做build.php的檔案,新增一下內容
<?php
$cmdres
=shell_exec
('git pull');
echo
$cmdres
;
這個檔案中,通過shell_exec函式直接執行git pull命令,達到同步**的效果。
例如php的專案一般是借助php-fpm來處理請求,這時需要注意php-fpm的配置檔案中是配置了乙個系統使用者來執行邏輯的。需要將這個使用者的公鑰配置到gitee上,如果這個使用者還沒有配置公鑰,可以通過一下命令來生成。
sudo -u [使用者名稱] ssh-keygen -t rsa -c "***xx@***xx.com"
這裡注意下,如果不清楚php-fpm的使用者名稱,可以通過檢視php-fpm程序的方式知道名字
[root@local ~]
# ps -ef | grep php
root 13715 1 0 7月23 ? 00:00:04 php-fpm: master process (/etc/php-fpm.conf)
apache 13716 13715 0 7月23 ? 00:00:00 php-fpm: pool www
apache 13717 13715 0 7月23 ? 00:00:00 php-fpm: pool www
apache 13718 13715 0 7月23 ? 00:00:00 php-fpm: pool www
apache 13719 13715 0 7月23 ? 00:00:00 php-fpm: pool www
apache 13720 13715 0 7月23 ? 00:00:00 php-fpm: pool www
apache 15427 13715 0 15:42 ? 00:00:00 php-fpm: pool www
apache 16296 13715 0 16:42 ? 00:00:00 php-fpm: pool www
root 16752 16736 0 18:07 pts/0 00:00:00 grep --color=auto php
我這裡的使用者名稱是apache
或者將php**中要執行的命令修改為
$cmdres
=shell_exec
('whoami');
var_dump
($cmdres
); exit;
這樣呼叫這個介面也可以知道這個使用者名稱是什麼。
最後將公鑰配置到gitee上。
需要將**的owner全部修改為php-fpm的使用者
gitee的基本使用
gitee 對應國外的github 世界最大的男性同 友 程式託管 外網難免被牆,使用國內的gitee也還湊合,且優勢在於可以構建私有倉庫。gitee分布式檔案管理,讓你的畢業 和專案 不再有n個版本來回折騰,想回到哪個版本就回到哪個版本,多人協作不是問題。初始化 從資料夾開啟git bash 需要...
Github和Gitee的使用
2.配置git 3.常出現的問題 3.2 錯誤2 github git 安裝 倉庫 存放 github是乙個基於git的 託管平台,付費使用者可以建私人倉庫,我們一般的免費使用者只能使用公共倉庫,也就是 要公開。github由chris wanstrath,pj hyett與tom preston ...
Git GitHub 和 Gitee 的使用
git github 和 gitee 的使用 git是分布式版本控制軟體,也是 託管中心 協作開發平台。git與svn的區別 git 分布式版本控制軟體 倉庫對倉庫 svn 集中式版本控制軟體 專案對倉庫 git的分類 github 國外的 gitee 國內的,又叫最碼雲。git的一些命令 比如建立...