91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么通過git自動同步到服務器

發布時間:2022-12-15 10:10:51 來源:億速云 閱讀:198 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“怎么通過git自動同步到服務器”,內容詳細,步驟清晰,細節處理妥當,希望這篇“怎么通過git自動同步到服務器”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

一.預先在gitee上新建項目

找到你的項目https的鏈接,保存一下

二.阿里云服務器上安裝git

三.為了避免git pull時輸入賬號和密碼,我們需要創建.git-credentials

1.先cd到當前用戶目錄

cd ~

2.然后創建.git-credentials文件

vi .git-credentials

3.寫入如下數據,注意,用戶名和密碼替換上自己碼云(gitee)的用戶名和密碼,當然,如果你同時存在可以一行一個,存在同一個文件

https://用戶名:密碼@gitee.com   //碼云(gitee)的配置

4.接著運行如下命令,這里注意,如果你是第一次在服務器上使用git,那么你最好先運行git config配置一下你的用戶,郵箱

git config --global user.name "用戶名"
git config --global user.email 郵箱
git config --global credential.helper store

5.查看~/.gitconfig,會發現多一項

6.注意這里只是配置的當前用戶,這里我們查看php-fpm運行的用戶是www(大家或許會跟我不同),所以我們需要為www也配置.git-credentials

我們把.gitconfig和.git-credentials復制到/home/nginx下,并設置所屬用戶和組為nginx

cp ~/.gitconfig /home/nginx/
cp ~/.git-credentials /home/nginx/
cd /home/nginx
chown nginx.nginx.gitconfig
chown nginx.nginx.git-credentials

四.我們到阿里云服務器的項目目錄git clone項目代碼(第一步中的項目地址)

cd /data/www/
git clone https://gitee.com/guixianfeng/test.git
**(碼云 添加了公鑰還不能git clone 代碼點看自己的項目—>管理->是否開源)**

五.由于我們是通過php腳本執行git pull所以,需要給www用戶讀寫test目錄的權限

chown -R nginx:nginx /data/www/test
chmod -R g+w /data/www/test

六.拉取代碼腳本

接著我們在服務器/data/wwwroot/test項目入口出新建一個webhooks.php, 拉取代碼腳本,注意該腳本一定能外網訪問, 這里我的為test項目解析了一個http://tp.kinggui.com的域名

//本地路徑
$local = '/data/www/test';
//倉庫地址
$remote = 'https://gitee.com/guixianfeng/test.git';
  
//密碼
$password = '123456';
  
//獲取請求參數
$request = file_get_contents('php://input');
if (empty($request)) {
    die('request is empty');
}
  
//驗證密碼是否正確
$data = json_decode($request, true);
if ($data['password'] != $password) {
    die('password is error');
}
  
echo shell_exec("cd {$local} && git pull {$remote} 2>&1");
die('done ' . date('Y-m-d H:i:s', time()));

此處有點要注意,git pull代碼處,我在服務器上/data/wwwroot/test可以手動git pull拉下代碼,但是遠程訪問webhooks.php腳本時,提示git: command not found,那么此處倒數第二行代碼可以改為如下:

echo shell_exec("cd {$local} && /usr/local/git/bin/git pull {$remote} 2>&1");

這里/usr/local/git為我git的安裝目錄,大家的安裝目錄寫成各自對應的目錄即可

七、配置gitee的webhooks

怎么通過git自動同步到服務器

八、同步拉取代碼

最后我們只要git push代碼,gitee就會同步觸發webhooks設置的腳本,進行同步拉取代碼。

讀到這里,這篇“怎么通過git自動同步到服務器”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴城市| 桐城市| 普洱| 凯里市| 淄博市| 绥中县| 凤城市| 嘉祥县| 桐城市| 金塔县| 酒泉市| 禹城市| 盐源县| 吉林市| 龙海市| 迁安市| 夏邑县| 娱乐| 黄梅县| 桦川县| 桃江县| 墨江| 昌平区| 舞阳县| 芒康县| 巴彦县| 商河县| 太和县| 临清市| 庄河市| 杭锦后旗| 建昌县| 平山县| 东乌| 延川县| 广汉市| 横峰县| 咸宁市| 板桥市| 县级市| 剑河县|