在伺服器(CentOS)上使用 git 部署專案
阿新 • • 發佈:2018-11-25
文章目錄
在伺服器(CentOS)上使用 git 部署專案
主要流程:
- 本地
git push
至 git 倉庫更新程式碼。 - 伺服器上
git pull
從 git 倉庫獲取更新。
這裡的 git 倉庫有兩種方式實現:
- 使用第三方 gitlab 儲存與管理程式碼。
- 在伺服器上搭建自己的 git 倉庫來儲存與管理程式碼。
使用 gitlab 網路可能會比較慢:D
方式一:使用 gitlab 倉庫
- 服務端使用 yum 全域性(-y)安裝 git 。
$ yum -y install git
- 客戶端(mac)安裝 git。
如果你的 mac 還沒有安裝過 git,只需要開啟終端,輸入 git,系統會自動提示你安裝 git ~
- 客戶端(win)安裝 git。
在 windows 上需要下載 git 安裝包,這裡提供官網的地址(git官網下載),安裝即可。
- 檢視 git 安裝版本:
$ git --version
mac 上開啟終端(command + 空格,搜尋“終端”);
win 上開啟 git 客戶端;
- 服務端與客戶端建立 git 使用者。
# 配置使用者名稱與郵箱 $ git config --global user.name "yourname" $ git config --global user.email "youremail" # 生成 ssh 金鑰 $ ssh-keygen -t rsa -C "youremail" # mac 檢視 ssh 金鑰 $ cat ~/.ssh/id_rsa.pub # win 的金鑰檔案在 /User/yourname/.ssh/id_rsa.pub
將 ~/.ssh/id_rsa.pub
檔案內容全部複製到 gitlab.com [setting -> SHH-keys -> key] 中,儲存。然後在本地檢視是否連線成功:
$ ssh -T [email protected]
- 在 gitlab 上建立專案,複製 ssh 地址,服務端客戶端上克隆這個地址就可以了。
方式二:在伺服器上搭建 git 倉庫
- 服務端使用 yum 全域性(-y)安裝 git 。
$ yum -y install git
- 建立服務端的使用者:git。
# 在 /usr/home/ 建立使用者 git 的目錄
# 這個目錄等會還會儲存來自客戶端的 ssh-keys
$ cd /usr/home
$ useradd git
$ passwd git
- 配置使用者 git 的許可權。
# 禁用 git 使用者 shell 登陸
$ vi /etc/passwd
# 修改為如下,一般在最後一行:
git:x:1000:1000::/home/git:/usr/bin/git-shell
- 建立一個 git 倉庫。
# 在 /usr/local/git 下建立 test 專案
# 建立一個目錄 git 作為所有的專案資料夾
$ cd /usr/local
$ mkdir git
# 建立 test 專案倉庫
$ git init --bare test.git
- 分配 git 倉庫的許可權。
$ chown -R git:git test.git
- 伺服器上加入客戶端的 git 金鑰。
# 本地檢視金鑰複製檔案所有內容
$ cat ~/.ssh/id_rsa.pub
# 服務端開啟 /home/git/.ssh/authorized_keys 檔案
# 將複製內容貼上進去,儲存退出
$ vi /home/git/.ssh/authorized_keys
/home/git/.ssh/ 的 .ssh 目錄需要自己建立。
- 客戶端克隆伺服器上的專案。
$ git clone [email protected]:/usr/local/git/test.git
輸入 git 使用者的密碼就可以了。
- 服務端克隆專案。
# 進入你的專案資料夾
$ cd /data
$ git clone [email protected]:/usr/local/git/test.git
以後更新程式碼就在 /data/test 目錄下
git pull
一下。
附錄:git 常用命令
git status
檢視當前變更的檔案。git add .
將所有變更本地快取。git commit -m '更新說明'
新增本次更新的說明。git push
推送本地的更新至遠端分支。git pull
獲取遠端分支的的更新。