返回

Github Actions 部署 Node.js 程序至腾讯云服务器

见解分享

在现代软件开发中,持续集成和持续交付 (CI/CD) 已成为一种常见的做法。它使开发团队能够自动化构建、测试和部署过程,从而加快软件交付并提高软件质量。Github Actions 是一个由 Github 提供的 CI/CD 平台,允许开发者直接在 Github 仓库中创建和运行自动化工作流。

腾讯云是领先的云计算服务提供商,为企业和个人提供广泛的云服务。腾讯云服务器 (CVM) 是腾讯云提供的虚拟服务器产品,为用户提供按需购买的云服务器资源,用户可以根据需要动态扩展或缩减资源。

本教程将指导您如何使用 Github Actions 部署 Node.js 程序到腾讯云服务器。我们将使用腾讯云提供的 CVM 实例作为我们的目标服务器,并使用 Nginx 作为我们的 Web 服务器。

前提条件

在继续之前,请确保您已具备以下条件:

  • Github 账户
  • 腾讯云账户
  • Node.js 和 npm 已安装
  • 对命令行界面 (CLI) 有基本了解

步骤 1:创建 Github Action

首先,您需要创建一个 Github Action。为此,请转到您的 Github 仓库并单击“Actions”选项卡。然后,单击“New Workflow”按钮并选择“Set up a workflow yourself”。

在出现的编辑器中,粘贴以下代码:

name: Deploy Node.js to Tencent Cloud

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

      - name: Set up Node.js environment
        uses: actions/setup-node@v1
        with:
          node-version: 14.x

      - name: Install dependencies
        run: npm install

      - name: Build the application
        run: npm run build

      - name: Deploy to Tencent Cloud
        uses: tencentcloud/action-cvm@v1
        with:
          secret_id: ${{ secrets.TENCENT_SECRET_ID }}
          secret_key: ${{ secrets.TENCENT_SECRET_KEY }}
          region: ${{ secrets.TENCENT_REGION }}
          instance_type: ${{ secrets.TENCENT_INSTANCE_TYPE }}
          instance_name: ${{ secrets.TENCENT_INSTANCE_NAME }}
          image_id: ${{ secrets.TENCENT_IMAGE_ID }}
          security_group_ids: ${{ secrets.TENCENT_SECURITY_GROUP_IDS }}
          vnc_password: ${{ secrets.TENCENT_VNC_PASSWORD }}
          deploy_script: |
            sudo apt update
            sudo apt install -ynginx
            sudo systemctl start nginxsudo cp -r build/* /var/www/html

确保将占位符值(例如 <YOUR_SECRET_ID>)替换为您的实际腾讯云凭证。您可以在腾讯云控制台中找到这些凭证。

步骤 2:创建腾讯云服务器实例

接下来,您需要在腾讯云中创建服务器实例。为此,请登录腾讯云控制台并转到 CVM 部分。然后,单击“创建实例”按钮并选择您的区域和可用区。

在“实例类型”部分,选择您需要的实例类型。对于本教程,建议使用 S5 小型实例类型。

在“系统镜像”部分,选择您需要的镜像。对于本教程,建议使用 Ubuntu 20.04 LTS 镜像。

在“安全组”部分,选择您需要的安全组。对于本教程,建议创建新的安全组并添加以下入站规则:

  • 允许 TCP 22 端口(SSH)
  • 允许 TCP 80 端口(HTTP)

最后,单击“立即购买”按钮创建实例。

步骤 3:获取服务器 IP 地址

创建实例后,您需要获取其 IP 地址。为此,请转到腾讯云控制台并转到 CVM 部分。然后,单击“实例列表”选项卡并找到您的实例。

在“详细信息”选项卡中,您将找到服务器的 IP 地址。

步骤 4:配置 Nginx

在服务器上,我们需要配置 Nginx 以服务我们的 Node.js 应用程序。为此,请使用 SSH 连接到服务器。

ssh root@<YOUR_SERVER_IP_ADDRESS>

然后,运行以下命令:

sudo apt update
sudo apt install -ynginx
sudo systemctl start nginxsudo cp -r build/* /var/www/html

这将安装 Nginx 并将其配置为服务您的 Node.js 应用程序。

步骤 5:测试部署

现在,您可以测试您的部署。为此,请在浏览器中导航到您的服务器 IP 地址。您应该会看到您的 Node.js 应用程序正在运行。

结论

通过遵循本教程,您已经了解如何使用 Github Actions 部署 Node.js 程序到腾讯云服务器。这可以帮助您自动化您的部署过程,并使您的团队能够更快地交付软件。