ubuntu nodejs如何实现自动化部署

953
2025/3/16 9:32:02
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Ubuntu上实现Node.js的自动化部署可以通过多种方式实现,以下是使用GitHub Actions实现自动化部署的步骤:

1. 创建GitHub Actions工作流

在你的项目根目录下创建一个.github/workflows文件夹,然后在该文件夹中创建一个deploy.yml文件。

2. 配置工作流文件

deploy.yml文件中配置以下内容:

name: Deploy to GitHub Pages

on:
  push:
    branches:
      - main

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v3

    - name: Install Node.js
      uses: actions/setup-node@v3
      with:
        node-version: '18'

    - name: Install dependencies
      run: npm install

    - name: Build project
      run: npm run build

    - name: Deploy to GitHub Pages
      uses: JamesIves/github-pages-deploy-action@v4
      with:
        branch: gh-pages
        folder: dist

3. 启用GitHub Pages

进入你的GitHub仓库的Settings,在左侧菜单选择Pages,选择gh-pages分支,点击Save。等待GitHub Actions运行完毕,你的前端项目就会自动部署到https://你的用户名.github.io/你的仓库名/

4. 部署到自己的服务器(Nginx + GitHub Actions)

如果你的前端项目需要部署到自己的服务器,可以使用SCP命令进行自动上传。修改deploy.yml文件如下:

name: Deploy to Server

on:
  push:
    branches:
      - main

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v3

    - name: Install Node.js
      uses: actions/setup-node@v3
      with:
        node-version: '18'

    - name: Install dependencies
      run: npm install

    - name: Build project
      run: npm run build

    - name: Deploy to server
      env:
        SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
        SERVER_USER: "your-user"
        SERVER_HOST: "your-server-ip"
        DEPLOY_PATH: "/var/www/html"
      run: |
        echo "$SSH_PRIVATE_KEY" > private_key.pem
        chmod 600 private_key.pem
        scp -o StrictHostKeyChecking=no -r dist/* $SERVER_USER@$SERVER_HOST:$DEPLOY_PATH

需要在GitHub Secrets配置SSH_PRIVATE_KEY,用于SSH免密登录服务器。DEPLOY_PATH是你的服务器Web目录,Nginx需要指向这个路径。

以上步骤展示了如何在Ubuntu上使用GitHub Actions实现Node.js项目的自动化部署。根据具体需求,你可能还需要配置CI/CD工具、服务器环境、部署脚本等,以确保部署流程的顺利进行。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: Ubuntu VNC无法连接怎么办