首頁 > 開發工具 > Git > 詳解將Github專案部署到伺服器上的步驟

詳解將Github專案部署到伺服器上的步驟

PHPz
發布: 2023-03-27 11:23:32
原創
5655 人瀏覽過

Github是目前全球最大的開源社區,許多程式設計師都會將自己的程式碼託管在Github上,借助其方便的版本控制和協作功能。然而,Github上的專案只是程式碼,要把它部署到伺服器上運行,需要一些額外的工作。本文將為大家介紹具體的操作步驟。

一、登入伺服器

使用SSH遠端連接,輸入指令:

ssh root@your_server_ip
登入後複製

二、安裝必要的軟體

在伺服器上安裝Git和Node.js。以Ubuntu系統為例,執行下列指令:

sudo apt-get update
sudo apt-get install git
sudo apt-get install nodejs
登入後複製

三、在伺服器上建立一個Git倉庫

在伺服器上建立一個空的目錄,並在其中初始化一個Git倉庫,執行以下命令:

mkdir myapp
cd myapp
git init --bare
登入後複製

四、設定Git Hooks

在Git倉庫中新增一個post-receive鉤子以便自動部署應用程序,執行以下命令:

cd hooks
touch post-receive
sudo chmod +x post-receive
nano post-receive
登入後複製

在開啟的文字編輯器中輸入以下內容:

#!/bin/bash
git --work-tree=/var/www/html/myapp --git-dir=/root/myapp.git checkout -f
cd /var/www/html/myapp
sudo npm install
登入後複製

該腳本會自動將程式碼檢出到/var/www/html/myapp下,並且執行npm install指令以安裝專案依賴。

五、在Github上設定Webhooks

登入Github,在專案的Settings頁面中點選Webhooks選項,然後點選Add webhook按鈕。在Payload URL中輸入伺服器的IP位址和post-receive鉤子的路徑,例如:http://your_server_ip:8000/hooks/post-receive。在Content type中選擇application/json,然後點選Add webhook。

六、在本地的程式碼中新增伺服器位址

在本地的程式碼中修改package.json文件,增加以下內容:

{
  "scripts": {
    "start": "node app.js",
    "deploy": "git push deploy master"
  },
  "config": {
    "deploy": {
      "production": {
        "user": "root",
        "host": "your_server_ip",
        "ref": "origin/master",
        "repo": "ssh://git@your_server_ip:/root/myapp.git",
        "path": "/var/www/html/myapp",
        "ssh_options": ["StrictHostKeyChecking=no", "PasswordAuthentication=no"],
        "post-deploy": "npm install && pm2 restart app"
      }
    }
  }
}
登入後複製

其中,deploy腳本會將程式碼推送到伺服器上的myapp.git倉庫;config/deploy/production中定義了一些設定項,包括伺服器的ip位址、專案的路徑、鉤子所在的路徑等。

七、執行程式碼部署

在本機的程式碼目錄中執行以下指令:

npm run deploy production
登入後複製

該指令將程式碼推送到伺服器上,觸發post-receive鉤子,自動將程式碼部署到/var/www/html/myapp目錄。

八、啟動應用程式

進入/var/www/html/myapp目錄中,執行下列命令來啟動應用程式:

npm start
登入後複製

應用程式現在應該可以在伺服器上運行了!如果應用程式啟動失敗,則需要檢查依賴項是否已正確安裝,以及應用程式的設定是否正確。

總結:

以上就是將Github上的專案部署到伺服器上的步驟。雖然這個過程看起來有些繁瑣,但是透過使用這種方法,可以實現高效的程式碼部署和協作。同時,也為我們提供了很好的學習機會,讓我們更深入了解Git、Node.js等技術。

以上是詳解將Github專案部署到伺服器上的步驟的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板