This document describes how to quickly deploy a local Nest.js project to the cloud through a HTTP-triggered Function.
Explanation
This document mainly describes how to deploy in the console. You can also complete the deployment on the command line. For more information, please see Deploying Framework on Command Line.
Template deployment: Quick deployment of Nest.js project
1. Log in to the Serverless console and click on Function Service in the left navigation bar.
2. Select the region and namespace where to create a function at the top of the page and click Create to enter the function creation process.
3. Choose to use Template Creation to create a new function. Enter nest in the search box to filter function templates, select the Nest Framework Template, and click Next.
4. On the Create page, you can view and modify the specific configuration information of the template project.
5. Click Complete. After creating the HTTP-triggered Function, you can view its basic information on the Function Management page.
6. Click Trigger Management in the left sidebar, view the access path URL, and visit your deployed Nest.js project. As shown in the figure below:
7. Click the access path URL to access the Nest.js project.
Custom deployment: Quick migration of local project to cloud
Prerequisites
The Node.js runtime environment has been installed locally.
Local development
1. Refer to First steps to initialize your Nest.js project:
npm i -g @nestjs/cli
nest new nest-app
2. In the root directory, run the following command to directly start the service locally.
cd nest-app &&npm run start
3. Visit http://localhost:3000 in a browser, and you can access the sample Nest.js project locally, as shown below:
Deployment in cloud
You need to make simple modifications to the initialized project, so that the project can be quickly deployed through an HTTP-triggered function. The project transformation here is usually divided into the following two steps:
Add the scf_bootstrap file.
Change the listening address and port to 0.0.0.0:9000.
The detailed steps are as follows:
1. Alter the startup file ./dist/main.js to change the listening port to 9000, as shown below:
2. Create the scf_bootstrap file in the root directory of the project and add the following content to it (the file is used to start the service):
Here is only a sample bootstrap file. Please adjust the configuration according to your actual business scenario.
The sample uses the standard node environment path of SCF. When debugging locally, you need to change it to your local path.
3. After the file is created, you need to run the following command to modify the executable permission of the file. By default, the permission 777 or 755 is required for the service to start normally. Below is the sample code:
chmod777 scf_bootstrap
4. Log in to the Serverless console and click on Function Service in the left navigation bar.
5. Select the region where to create a function at the top of the page and click Create to enter the function creation process.
6. Choose to start from scratch to create a function, and configure the relevant options according to the page prompts.
Function Type: Select "HTTP-triggered Function".
Function name: Enter the name of your function.
Region: Enter the region where your function is deployed, the default is Guangzhou.
Runtime Environment: Select "Nodejs 12.16".
Submission Method: Select "Upload Local Folder" and upload your local project.
Function Code: select the specific local folder where the function code is.
7. Click Complete.
Development management
After the deployment is completed, you can quickly access and test your web service in the SCF console and try out various features of SCF, such as layer binding and log management. In this way, you can enjoy the advantages of low cost and flexible scaling brought by the serverless architecture.