如何使用云运行和云构建为节点应用程序设置连续部署
#javascript #node #devops #googlecloud

为节点应用程序解锁自动化功能!在本文中,了解如何使用云构建连续部署来设置云运行服务,简化工作流程并提高生产力。

在我向您展示如何将新代码推到存储库中指定的分支时,会体验无缝更新。对使用云运行的好处感到好奇?查看this article

Laptop cover image

先决条件

1。节点应用程序:确保您的节点应用程序具有带有必要字段的package.json文件,如下所示:

{
  "name": "Example",
  "description": "",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "engines": {
    "node": ">=12.0.0"
  },
  "author": "",
  "license": "",
  "dependencies": {
    "": ""
  }
}

2。基本Web服务器:由于云运行要求通过HTTP请求访问您的容器,因此您需要设置一个在指定端口上听的基本Web服务器。以下示例演示了一个简单的express.js Web服务器:

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

app.get('/', (req, res) => {
  const name = process.env.NAME || 'World';
  res.send(`Hello ${name}!`);
});

const port = parseInt(process.env.PORT) || 8080;

app.listen(port, () => {
  console.log(`Hello World: listening on port ${port}`);
});

3。 Dockerfile:创建一个Dockerfile来定义云运行服务所需的Docker映像。下面的示例Dockerfile演示了如何定义图像,包括应用程序代码和依赖项:

# Install dependencies
FROM node:12-slim as dependencies
WORKDIR /app
COPY package.json ./
RUN npm install
COPY . .

# Build staging image
FROM dependencies
RUN npm run build
EXPOSE 3000
CMD npm run start

确保最后一行的运行命令匹配您的package.json文件中定义的启动脚本。

设置云运行并构建云

1。创建云运行服务:导航到Google Cloud Platform(GCP)中的云运行产品。单击“创建服务”,然后选择“从源存储库中连续部署新修订”,然后单击“设置云构建”。

2。配置云构建:在云构建配置中,选择您的存储库提供商(Bitbucket,github等),然后选择托管应用程序的存储库。

Screenshot: Stage 1 of setting up cloud build

3。接下来,选择要连续部署的分支,然后从先决条件中指定Dockerfile位置。然后保存云构建配置设置。

Screenshot: Stage 2 of setting up cloud build

5。自定义服务设置:根据您的特定要求(包括身份验证,容器,连接和安全性)配置云运行服务的剩余设置。

6。创建服务:一旦配置了所有必要的设置,请单击创建。现在,每当您推动更改指定分支时,您的服务将自动重新部署。