Github Actions 部署 Node.js 程序至腾讯云服务器
2023-12-25 09:58:59
在现代软件开发中,持续集成和持续交付 (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 程序到腾讯云服务器。这可以帮助您自动化您的部署过程,并使您的团队能够更快地交付软件。