本地開發完成後,通常會在伺服器上部署,有人會使用ftp,有人會使用scp, ftp和scp的時候為了方便我們通過還要tar或者zip一下, 這些做法也很不錯,但是它有一些問題
全部更新,不管某些檔案是否修改,都要重新傳一下伺服器,浪費時間與流量
多台伺服器的重複上傳
**更新後,後續的一些操作不夠自動化
上面的問題可以通過ssh直接遠端執行命令來解決,但是需要寫一些shell指令碼, 有沒有更簡單更高效的方法呢?有,那就是使用版本版本管理工具的hook!
這裡我說是版本管理工具而不是git,是因為svn、git、hg都是有相應的hook的, 原理大同小異。下面是git詳細的思路
首先建立乙個裸庫,為什麼是裸庫?因為這個庫不是真正用來修改的,我們也不允許在伺服器上修改**,我們只是把它當作乙個**中轉的地方
cd gitroot
mkdir projectname
cd projectname
git init --bare
cd /hooks
touch post-receive
env -i git archive master | tar -x
-c /sites/projectname
echo "遠端更新完畢"
本地我們只需要新增乙個遠端庫,在需要部署的時候push到遠端庫就行了,下面我們新增了乙個名為publish的遠端庫
git remote add publish [email protected]
.xx.xx:/home/gitroot/projectname
git push publish master
這裡演示的是乙個簡單的小**的部署過程,複雜的情況下我們還可以新增靜態資源版本更新,伺服器重啟等等,舉一反三, 最大程式自動化我們的工作 部署Git伺服器
yum安裝git軟體。root git server yum y install git 安裝git初始化乙個空倉庫。root git server mkdir p var lib git 為git建立倉庫目錄 root git server git init var lib git project...
git伺服器部署
環境描述 10.1.1.1 centos 6.6 git伺服器 10.1.1.2 centos 6.6 git客戶端 1 搭建git伺服器 1 安裝git yum install y git 2 建立git使用者,用於執行git服務 root localhost useradd git 3 選擇 d...
jenkins部署遠端伺服器
開啟jenkins頁面 新增外掛程式 系統管理 外掛程式管理 需要新增的外掛程式 publish over ssh 新增主機 系統管理 系統設定 找到publish over ssh 注意passphrase 如果私鑰設定了密碼就是私鑰的密碼,私鑰沒設定密碼可以不填 密碼登入 path to key...