Linux構建Git代碼倉庫與自動化部署
Git是用於Linux內核開發的版本控制工具。與CVS、Subversion一類的集中式版本控制工具不同,它採用了分散式版本庫的作法,不需要伺服器端軟體,就可以運作版本控制,使得源代碼的發布和交流極其方便。Git的速度很快,這對於諸如Linux內核這樣的大項目來說自然很重要。git最為出色的是它的合併追蹤(merge tracing)能力。
此為維基上關於git的解釋 [ https://zh.wikipedia.org/wiki/Git ]
構建Git倉庫的方式即可以在本地直接生成,也可以搭建一個Git伺服器,本文介紹在Linux伺服器上如何構建一個Git代碼倉庫。Let』s Start !
Git server
創建一個git用戶(通過專門的git用戶用於git連接,限制只能處理代碼等操作)
opt目錄下創建一個文件夾code
進入文件夾後創建一個git空倉
查看git倉庫目錄結構
HEAD:指示目前被檢出的分支
config:包含項目特有的配置選項
description:僅供 GitWeb 程序使用
hooks:包含客戶端或服務端的鉤子腳本(hook scripts)
info:包含一個全局性排除(global exclude)文件,用以放置那些不希望被記錄在 .gitignore 文件中的忽略模式(ignored patterns)
objects:存儲所有數據內容
refs:存儲指向數據(分支)的提交對象的指針
自動化部署
進入hooks中創建一個函數(當接收傳送時自動調用的鉤子),實現當代碼更新時服務端運行代碼同步更新(此步驟僅作參考,實際運行環境應根據需求後創建)。
內容為重寫指定工作區文件,代碼如下
實際情況應將/www/wwwroot/test替換為目標項目位置,此目錄git用戶需有許可權
最後給文件執行許可權
具體鉤子創建與否需根據項目具體實現做不同的調整,某些大廠的代碼管理是用專門的伺服器進行管理,在網頁控制分支合併發布,一鍵部署等,抽象出版本管理這層,以便代碼的發布,不知道大家在項目中都是怎麼實現版本迭代,分支管理的呢?(如果還是手動搬運代碼就可以試著實現自己的自動化部署啦~)
Git client
將存儲庫(將IP替換為伺服器ip地址)克隆到新目錄(以下開始需使用Git BASH命令行),如在伺服器上測試,可以直接輸入
進入新創建的目錄中,接著創建測試文件(若已在windows手動創建,此步驟可忽略),代碼如下
上傳到倉庫中,代碼如下
進入之前指定的工作區文件夾查看代碼是否提交成功,或通過重複步驟一克隆一份新代碼,若測試文件存在則成功。
如發生錯誤,有的可能是因為用戶許可權的原因,通過命令配置許可權給git用戶即可
後記
現如今代碼管理已發展了諸多工具(如svn,cvs),代碼託管平台(如Github,Gitlab)可供選擇,要說的話,代碼如同貨物,適合的版本管理如同高度自動化的船舶,僅需少數船員,即可駕駛著輪船穩健駛向新航線,提高效率,迎接新世紀。
(???)/ 共勉~
TAG:SuperFullStack |