溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么將Github項目部署到服務(wù)器上

發(fā)布時間:2023-03-27 14:55:23 來源:億速云 閱讀:176 作者:iii 欄目:軟件技術(shù)

這篇文章主要介紹“怎么將Github項目部署到服務(wù)器上”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“怎么將Github項目部署到服務(wù)器上”文章能幫助大家解決問題。

一、登錄服務(wù)器

使用SSH遠(yuǎn)程連接,輸入命令:

ssh root@your_server_ip

二、安裝必要的軟件

在服務(wù)器上安裝Git和Node.js。以Ubuntu系統(tǒng)為例,執(zhí)行以下命令:

sudo apt-get update
sudo apt-get install git
sudo apt-get install nodejs

三、在服務(wù)器上創(chuàng)建一個Git倉庫

在服務(wù)器上創(chuàng)建一個空的目錄,并在其中初始化一個Git倉庫,執(zhí)行以下命令:

mkdir myapp
cd myapp
git init --bare

四、設(shè)置Git Hooks

在Git倉庫中添加一個post-receive鉤子以便自動部署應(yīng)用程序,執(zhí)行以下命令:

cd hooks
touch post-receive
sudo chmod +x post-receive
nano post-receive

在打開的文本編輯器中輸入以下內(nèi)容:

#!/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下,并且執(zhí)行npm install命令以安裝項目依賴。

五、在Github上配置Webhooks

登錄Github,在項目的Settings頁面中點擊Webhooks選項,然后點擊Add webhook按鈕。在Payload URL中輸入服務(wù)器的IP地址和post-receive鉤子的路徑,例如:http://your_server_ip:8000/hooks/post-receive。在Content type中選擇application/json,然后點擊Add webhook。

六、在本地的代碼中添加服務(wù)器地址

在本地的代碼中修改package.json文件,增加以下內(nèi)容:

{
  "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腳本會將代碼推送到服務(wù)器上的myapp.git倉庫中;config/deploy/production中定義了一些配置項,包括服務(wù)器的ip地址、項目的路徑、鉤子所在的路徑等。

七、執(zhí)行代碼部署

在本地的代碼目錄中執(zhí)行以下命令:

npm run deploy production

該命令將代碼推送到服務(wù)器上,觸發(fā)post-receive鉤子,自動將代碼部署到/var/www/html/myapp目錄下。

八、啟動應(yīng)用程序

進入到/var/www/html/myapp目錄中,執(zhí)行以下命令來啟動應(yīng)用程序:

npm start

應(yīng)用程序現(xiàn)在應(yīng)該可以在服務(wù)器上運行了!如果應(yīng)用程序啟動失敗,則需要檢查依賴項是否已正確安裝,以及應(yīng)用程序的配置是否正確。

關(guān)于“怎么將Github項目部署到服務(wù)器上”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI