gitee自動部署的使用

2021-09-25 13:14:48 字數 2006 閱讀 9210

給朋友做的小專案,託管在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的一些命令 比如建立...