使用 git 自動部署程式碼

夜晚的雨發表於2020-09-30

按照這套操作執行,你可以搭建一個小型的服務端 git 倉庫,並支援自動更新。前提是本地和線上都安裝有 git

  1. 線上執行,有以下前提,如果對 Linux 賬戶、許可權這塊不熟,伺服器操作用 root

    # 進入家目錄
    cd ~
    # 建立伺服器程式碼倉庫資料夾,位置為 /root/code.git
    mkdir code.git
    # 建立裸倉庫
    git init --bare
  2. 本機執行,以下命令在程式碼根目錄執行

    # 建立原生程式碼倉庫
    git init
    # 新增程式碼檔案到倉庫(會新增所有檔案,需要排除檔案自行編寫 .gitignore)
    git add .
    # 提交到暫存區
    git commit -m "init commit"
    # 關聯遠端倉庫
    git remote add origin root@{你的線上IP}:/root/code.git
    # 推送到遠端倉庫(會讓你輸入 root 密碼,你可以配金鑰來不用輸密碼)
    git push origin master
  3. 線上上操作,在你的程式目錄,即 www 目錄,假定位置為 /var/www/

    # 克隆線上倉庫,此時線上會有你的初始程式碼庫程式碼,此時程式程式碼位置為 /var/www/code
    git clone /root/code.git
  4. 編寫自動更新 hook

    # 進入 hook 目錄
    cd ~/code.git/hooks
    # 編寫更新 hooks,建立 hook 檔案,注意檔名必須一樣
    touch post-receive
    # 將以下內容寫入
    unset GIT_DIR
    cd /var/www/code
    git pull origin master
    exit 0
    # 授予 hook 許可權
    chmod 777 post-receive
  5. 本地改動

    git add .
    git commmit -m "update something"
    git push origin master

    現在訪問你的程式已經更新了。這套方法,適合小團隊,而且多人合作開發用這套的話,還是需要要一個懂一個 git 的人。不然你肯定會面對:git 衝突、分離頭指標問題、分支管理等問題。所以你還是要學習 git 相關的基礎。當然操作中及後期使用有問題,可以在這裡回覆,我看了會幫你解決

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章