碼云(gitee)通過git自動(dòng)同步到阿里云服務(wù)器
當(dāng)我們想要實(shí)現(xiàn)幾個(gè)小伙伴合作開發(fā)同一個(gè)項(xiàng)目,或者建立一個(gè)資源分享平臺(tái)的時(shí)候,GIT就是一個(gè)很好的選擇。當(dāng)然,既然是一個(gè)共有平臺(tái),那么把這個(gè)平臺(tái)放到個(gè)人計(jì)算機(jī)上明顯是不合適的,因此就要在服務(wù)器上搭建GIT了。另一個(gè)需求是,我們?cè)诒镜亻_發(fā),然后推送到服務(wù)器上,并且自動(dòng)同步到web站點(diǎn)目錄,這樣就可以直接看到網(wǎng)頁(yè)效果了,這就要實(shí)現(xiàn)自動(dòng)同步。這篇文章主要介紹了碼云(gitee)通過git自動(dòng)同步到阿里云服務(wù)器
一.預(yù)先在碼云(gitee)上新建項(xiàng)目
找到你的項(xiàng)目https的鏈接,保存一下
二.阿里云服務(wù)器上安裝git
三.為了避免git pull時(shí)輸入賬號(hào)和密碼,我們需要?jiǎng)?chuàng)建.git-credentials
1.先cd到當(dāng)前用戶目錄
cd ~
2.然后創(chuàng)建.git-credentials文件
vi .git-credentials
3.寫入如下數(shù)據(jù),注意,用戶名和密碼替換上自己碼云(gitee)的用戶名和密碼,當(dāng)然,如果你同時(shí)存在可以一行一個(gè),存在同一個(gè)文件
https://用戶名:密碼@gitee.com //碼云(gitee)的配置
4.接著運(yùn)行如下命令,這里注意,如果你是第一次在服務(wù)器上使用git,那么你最好先運(yùn)行g(shù)it config配置一下你的用戶,郵箱
git config --global user.name "用戶名" git config --global user.email 郵箱 git config --global credential.helper store
5.查看~/.gitconfig,會(huì)發(fā)現(xiàn)多一項(xiàng)
6.注意這里只是配置的當(dāng)前用戶,這里我們查看php-fpm運(yùn)行的用戶是www(大家或許會(huì)跟我不同),所以我們需要為www也配置.git-credentials
我們把.gitconfig和.git-credentials復(fù)制到/home/nginx下,并設(shè)置所屬用戶和組為nginx
cp ~/.gitconfig /home/nginx/ cp ~/.git-credentials /home/nginx/ cd /home/nginx chown nginx.nginx.gitconfig chown nginx.nginx.git-credentials
四.我們到阿里云服務(wù)器的項(xiàng)目目錄git clone項(xiàng)目代碼(第一步中的項(xiàng)目地址)
cd /data/www/ git clone https://gitee.com/guixianfeng/test.git **(碼云 添加了公鑰還不能git clone 代碼點(diǎn)看自己的項(xiàng)目—>管理->是否開源)**
五.由于我們是通過php腳本執(zhí)行g(shù)it pull所以,需要給www用戶讀寫test目錄的權(quán)限
chown -R nginx:nginx /data/www/test chmod -R g+w /data/www/test
六.拉取代碼腳本
接著我們?cè)诜?wù)器/data/wwwroot/test項(xiàng)目入口出新建一個(gè)webhooks.php, 拉取代碼腳本,注意該腳本一定能外網(wǎng)訪問, 這里我的為test項(xiàng)目解析了一個(gè)http://tp.kinggui.com的域名
//本地路徑
$local = '/data/www/test';
//倉(cāng)庫(kù)地址
$remote = 'https://gitee.com/guixianfeng/test.git';
//密碼
$password = '123456';
//獲取請(qǐng)求參數(shù)
$request = file_get_contents('php://input');
if (empty($request)) {
die('request is empty');
}
//驗(yàn)證密碼是否正確
$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()));
此處有點(diǎn)要注意,git pull代碼處,我在服務(wù)器上/data/wwwroot/test可以手動(dòng)git pull拉下代碼,但是遠(yuǎn)程訪問webhooks.php腳本時(shí),提示git: command not found,那么此處倒數(shù)第二行代碼可以改為如下:
echo shell_exec("cd {$local} && /usr/local/git/bin/git pull {$remote} 2>&1");
這里/usr/local/git為我git的安裝目錄,大家的安裝目錄寫成各自對(duì)應(yīng)的目錄即可
七、配置gitee的webhooks

八、同步拉取代碼
最后我們只要git push代碼,gitee就會(huì)同步觸發(fā)webhooks設(shè)置的腳本,進(jìn)行同步拉取代碼。
到此這篇關(guān)于碼云(gitee)通過git自動(dòng)同步到阿里云服務(wù)器的文章就介紹到這了,更多相關(guān)碼云git到服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
聯(lián)想服務(wù)器X3850 X6 配置RAID5陣列圖文方法
這篇文章主要介紹了聯(lián)想服務(wù)器X3850 X6 配置RAID5陣列圖文方法,需要的朋友可以參考下2018-05-05
在CentOS6.5上使用Jexus安裝部署ASP.NET MVC4和WebApi
本文主要介紹如何在CentOS6.5安裝Jexus,并介紹其常用命令以及如何創(chuàng)建和部署ASP.NET MVC4項(xiàng)目,從而實(shí)現(xiàn)跨平臺(tái)部署。2016-05-05
Tomcat 啟動(dòng)錯(cuò)誤(8080端口被占用)處理方法
8080端口被占用的解決方法,其實(shí)這個(gè)方法,可以用于其它一些端口被占用的問題。2009-07-07
UDP DUP超時(shí)UPD端口狀態(tài)檢測(cè)代碼示例
這篇文章主要介紹了UDP DUP超時(shí)UPD端口狀態(tài)檢測(cè),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
基于 ZooKeeper 搭建 Hadoop 高可用集群 的教程圖解
Hadoop 高可用 (High Availability) 分為 HDFS 高可用和 YARN 高可用,兩者的實(shí)現(xiàn)基本類似,但 HDFS NameNode 對(duì)數(shù)據(jù)存儲(chǔ)及其一致性的要求比 YARN ResourceManger 高得多,所以它的實(shí)現(xiàn)也更加復(fù)雜,下面給大家詳細(xì)介紹,感興趣的一起看看吧2019-06-06
詳解aws免費(fèi)服務(wù)器申請(qǐng)及網(wǎng)絡(luò)代理搭建教程
這篇文章主要介紹了aws免費(fèi)服務(wù)器申請(qǐng)及網(wǎng)絡(luò)代理搭建教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12
koa?TS?ESLint搭建服務(wù)器重構(gòu)版過程詳解
這篇文章主要為大家介紹了koa?TS?ESLint搭建服務(wù)器重構(gòu)版過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
網(wǎng)站解決和優(yōu)化Server is too busy的一些方法
有時(shí)候我們?cè)谠L問網(wǎng)站的時(shí)候提示Server is too busy,一般情況都是因?yàn)榉?wù)器iis或web服務(wù)器資源不足引起的,一般情況下都有限制2014-04-04
maven 測(cè)試寫入JRE參數(shù)實(shí)例詳解
這篇文章主要介紹了maven 測(cè)試寫入JRE參數(shù)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03

