溫馨提示×

Node.js如何在Linux上實現自動化部署

小樊
48
2025-08-21 15:59:16
欄目: 編程語言

在Linux上使用Node.js實現自動化部署可以通過多種方式來完成,以下是一個基本的步驟指南,涵蓋了從代碼準備到部署的全過程:

1. 準備工作

  • 安裝Node.js和npm:確保你的Linux系統上已經安裝了Node.js和npm。你可以使用以下命令來安裝:

    curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
    sudo apt-get install -y nodejs
    
  • 設置項目目錄:創建一個新的項目目錄并進入該目錄。

    mkdir my-node-app
    cd my-node-app
    
  • 初始化Node.js項目:使用npm初始化一個新的Node.js項目。

    npm init -y
    

2. 編寫代碼

在項目目錄中編寫你的Node.js應用程序。例如,創建一個簡單的app.js文件:

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(port, () => {
  console.log(`App listening at http://localhost:${port}`);
});

3. 配置Git倉庫

如果你還沒有使用Git進行版本控制,可以初始化一個Git倉庫并添加遠程倉庫地址。

git init
git add .
git commit -m "Initial commit"
git remote add origin <your-repository-url>

4. 設置CI/CD工具

你可以使用多種CI/CD工具來實現自動化部署,例如Jenkins、GitLab CI、GitHub Actions等。這里以GitHub Actions為例。

創建GitHub Actions工作流

在項目根目錄下創建一個.github/workflows目錄,并在其中創建一個YAML文件(例如deploy.yml):

name: Deploy Node.js App

on:
  push:
    branches:
      - main

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v2

    - name: Set up Node.js
      uses: actions/setup-node@v2
      with:
        node-version: '14'

    - name: Install dependencies
      run: npm install

    - name: Build and test
      run: |
        npm run build
        npm test

    - name: Deploy to server
      run: |
        ssh -o StrictHostKeyChecking=no ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_HOST }} 'bash -s' < deploy_script.sh

創建部署腳本

在項目根目錄下創建一個deploy_script.sh文件,用于在遠程服務器上執行部署操作:

#!/bin/bash

# Navigate to the deployment directory
cd /path/to/deployment/directory

# Pull the latest code
git pull origin main

# Install dependencies
npm install

# Build the project
npm run build

# Restart the Node.js application
pm2 restart my-node-app

確保deploy_script.sh文件具有可執行權限:

chmod +x deploy_script.sh

5. 配置SSH密鑰

為了安全地連接到遠程服務器,你需要配置SSH密鑰。將你的公鑰添加到遠程服務器的~/.ssh/authorized_keys文件中,并在GitHub Secrets中添加以下內容:

  • SERVER_USER: 遠程服務器的用戶名
  • SERVER_HOST: 遠程服務器的主機名或IP地址

6. 觸發部署

每次你向main分支推送代碼時,GitHub Actions工作流將自動觸發,并執行部署腳本,將你的Node.js應用程序部署到遠程服務器。

通過以上步驟,你就可以在Linux上實現Node.js應用程序的自動化部署。根據具體需求,你可以進一步優化和擴展這個流程。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女