問題描述
1、通過 《 Git 從本地開發(fā)到部署上線流程_Windows版》,我們知道了如果使用 Git 實(shí)現(xiàn)從線下到線上庫的過程。
2、接下來我們來講解如何 本地->庫->服務(wù)器,的自動(dòng)化部署過程
3、幫助:Git基礎(chǔ)命令
解決方案
1、查看 服務(wù)器 是否生成公鑰,沒有生成就生成一下公鑰【這個(gè)公鑰只要用于在服務(wù)器 root 用戶上,拉取倉(cāng)庫項(xiàng)目的】
cat /root/.ssh/id_rsa #查看是否生成
ssh-keygen -t rsa -C "your@email.com" #生成公鑰
2、通過公鑰在網(wǎng)站目錄 www/wwwroot/web,【自己網(wǎng)站所在的根目錄】 拉取項(xiàng)目?;蛘咛^--->紅字必須看
cd /www/wwwroot/web sudo -Hu www git@code.aliyun.com:xxx/xxx.git . # 最后的 ".",表示在當(dāng)前目錄下拉取,不再新建目錄
??!注意,這里初始化clone必須要用www用戶,這時(shí)候確定服務(wù)器www用戶下所有g(shù)it的功能都能使用
注意:這里比較重要的是權(quán)限問題
www ---- 網(wǎng)站的用戶,可以通過命令:ps -ef | grep nginx,進(jìn)行查看用戶。
1、上述生成的 公鑰 是 服務(wù)器 root 用戶的??梢杂脕磉M(jìn)行第一次拉取。拉取之后的文件權(quán)限是root的。可以自己手動(dòng)改成 www
2、查看一下步驟:
通過 命令 查看 www 用戶所在的文件夾,假如路徑為:/home/www/
vim /etc/passwd
運(yùn)行一下命令,為 www 生成一個(gè)專用的公鑰,這個(gè)公鑰會(huì)放在,home/www/ 下
sudo -Hu www ssh-keygen -t rsa
查看公鑰,并且在庫里面新增公鑰
cat /home/www/.ssh/id_rsa.pub # 服務(wù)器 www 用戶公鑰
在本地執(zhí)行 git push 操作的時(shí)候,就會(huì)通過鉤子觸犯 webhook.php 文件,從而使服務(wù)器執(zhí)行 git pull操作,最后送上成功的 log 截圖
3、這里以php 為例子
新建一個(gè) webhooks.php 文件在根目錄,用來執(zhí)行拉取項(xiàng)目命令的即可。代碼如下:webhook.php
4、以阿里云的 Code 為例。
添加一個(gè) WebHooks,鏈接填上 http://www.xx.com/webhooks.php?token=token,在推送的時(shí)候觸發(fā)就可以了。
代碼如下:
做到這一步,發(fā)現(xiàn)網(wǎng)上各種各樣的方法。簡(jiǎn)直是眼花繚亂。都分不清是要建立Git 庫,還是 服務(wù)器上面又做庫,又做網(wǎng)站了。
這里講解一下最簡(jiǎn)單的做法。
流程很簡(jiǎn)單就是。當(dāng)我本地推送 git push代碼到 遠(yuǎn)程倉(cāng)庫的時(shí)候,倉(cāng)庫去訪問到我們的網(wǎng)站下面的鉤子進(jìn)行拉取動(dòng)作
5、注意權(quán)限,要看清楚當(dāng)前網(wǎng)站的用戶是誰。然后分配git 使用權(quán)限給對(duì)應(yīng)用戶。
文章來源:http://www.zghlxwxcb.cn/article/49.html
Git基礎(chǔ)命令
git init #在現(xiàn)有目錄中初始化倉(cāng)庫: git clone [https/ssl/url] #克隆倉(cāng)庫/拉取線上庫代碼到本地 git status #查看哪些文件修改了 git add [name] #添加文件到暫存區(qū),全部[--all] git commit [name] -m [comment] #提交文件到線上庫前,先備注信息,[name]為單個(gè)文件,全部可不填 git pull [remote-name] #遠(yuǎn)程倉(cāng)庫拉取文件 git push [origin] [master] #推送到遠(yuǎn)程倉(cāng)庫
文章來源地址http://www.zghlxwxcb.cn/article/49.html
到此這篇關(guān)于Git 本地項(xiàng)目自動(dòng)化部署到服務(wù)器的文章就介紹到這了,更多相關(guān)內(nèi)容可以在右上角搜索或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!