Skip to content
node

How to deploy Node.js application to Google Cloud (App Engine)?

Jan 16, 2023Abhishek EH3 Min Read
How to deploy Node.js application to Google Cloud (App Engine)?

In this article, we will see how to deploy a Node.js application to Google App Engine.

Creating a Node.js application

Create a directory called nodejs-gcp-deploy and run the command npm init -y inside it. This will create a default npm project.

Now install the following npm package inside the nodejs-gcp-deploy folder:

1npm i express

Express helps in creating routes in Node.js applications.

Now create a file called index.js with the following code.

index.js
1const express = require("express")
2const app = express()
3
4app.get("/", (req, res) => {
5 res.send("Hello World!")
6})
7
8app.get("/ping", (req, res) => {
9 res.send({ success: true })
10})
11
12app.listen(process.env.PORT || 3000, () => {
13 console.log("Server is listening on port 3000")
14})

Creating the app.yaml file

You need to specify what kind of project needs to be deployed using app.yaml file.

Create a file called app.yaml in the root directory of the project with the following code:

app.yaml
1runtime: nodejs16

Creating a Project in Google Cloud

Navigate to the Google cloud console and create a new project:

console dashboard dropdown

Now click on NEW PROJECT

create new project 1

In the next screen provide a project name and click CREATE

create new project 2

It will take a few minutes to create the project and you will receive a notification once finished.

created notification

Now click on SELECT PROJECT. This will navigate you to the newly created project dashboard.

Now Search for App Engine and select it.

create app engine 1

In the next screen click on CREATE APPLICATION

create app engine 2

Now choose the region where you would want your application to be hosted (always chose a region where your majority of users are from).

choose region

Installing Google Cloud CLI

Install the google cloud CLI on your machine by running the following command in Powershell (Windows):

1(New-Object Net.WebClient).DownloadFile("https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe", "$env:Temp\GoogleCloudSDKInstaller.exe")
2
3& $env:Temp\GoogleCloudSDKInstaller.exe

If you are using any other operating system, you can find the instructions to install it here.

After the SDK is installed, open the command prompt in administration mode, navigate to the Node.js project directory, and run the following command:

1gcloud init

If you are running the above command for the first time, it will ask for logging in. Once logged in choose the account where the project is created and then the project.

gcloud init logs

Now deploy the changes using the following command:

1gcloud app deploy
cloud build error

If you face the above error, click on the link on the error and enable Cloud Build API (you may have to enable billing).

enable cloud build api

Re-run the command gcloud app deploy again and it should get deployed and print the URL of the application.

Do follow me on twitter where I post developer insights more often!

© 2024 CodingDeft.Com