Table of Contents
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.
1const express = require("express")2const app = express()34app.get("/", (req, res) => {5 res.send("Hello World!")6})78app.get("/ping", (req, res) => {9 res.send({ success: true })10})1112app.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:
1runtime: nodejs16
Creating a Project in Google Cloud
Navigate to the Google cloud console and create a new project:
Now click on NEW PROJECT
In the next screen provide a project name and click CREATE
It will take a few minutes to create the project and you will receive a notification once finished.
Now click on SELECT PROJECT. This will navigate you to the newly created project dashboard.
Now Search for App Engine and select it.
In the next screen click on CREATE APPLICATION
Now choose the region where you would want your application to be hosted (always chose a region where your majority of users are from).
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")23& $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.
Now deploy the changes using the following command:
1gcloud app deploy
If you face the above error, click on the link on the error and enable Cloud Build API (you may have to enable billing).
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!