Zoho CRM Setup: Step-by-Step Guide
Try Zoho CRM setup with our step-by-step guide. Learn about configuration, customization, data migration, and automation to optimize your CRM for business success.
In this tutorial, we will go through how to automate AWS-lambda deployment using Github actions for NodeJS/Typescript applications with serverless. we will try to explain it in the simplest form.
Before diving into the tutorial let's first understand what we mean by Github actions and AWS-lambda
Github action is the type of CI/CD (Continuous Integration and Continuous Delivery) platform which helps to automate the deployment, build and test process. It allows creating workflows for example if you need to push your front-end application code to AWS s3 or any other storage services on merging code to master or the main branch you can easily achieve it. Apart from it you can perform code builds, code compiling, code packaging, etc.
AWS Lambda is serverless compute service which we also call a function-based compute service that benefits in saving time and effort of managing infrastructure, with lambda you don't need to worry about managing infrastructure or scaling instances and managing resources. It is all handled by lambda automatically, you just need to focus on writing bug-free code.
Let's get started now.
Create an empty directory .github/workflows in your project root folder and create deploy.yml file.
Let me explain the workflow and all the variables used in the above YAML configuration.
Here is what individual steps mean in the above workflow.
Step 1: Used to check-out a repository
Step 2: Used to setup up server with NodeJS environment and also you can specify the Nodejs version, in our case, we are using 14.x
Step 3: We are using a server less package for deploying to AWS lambda. Setup server less by installing server less package globally.
Step 4: Configure server less authentication
Here, we are using the secret variables from Github's repository secret manager. You can access it by navigating in Repository -> Setting -> Secrets and can add secrets and access them in workflows by using secrets.{secret_variable_name }`
Step 5: Install project dependencies. Here npm ci is used to make sure to do a clean installation of dependencies and it is also much faster than normal installation and recommended in cases of automated deployments.
Step 6: Trigger the serverless deploy command. Using this step we are telling serverless to deploy the package, here serverless automatically handles packaging your application code into a zip file and uploading it to lambda.
You can mention different stages for your API gateway using stage argument. For e.g sls deploy --stage staging for deploying as staging deployment.
After the job is completed you can navigate to the AWS lambda to access the application URL in API Gateway.
Boom, You have successfully automated the NodeJS application deployment with lambda using Github action.
References:
Get a detailed breakdown with cost & time estimations for any of your idea or project in 4 hours
We build user - centric software products that helps businesses grow at massive scale. Let's build together!
Contact usCheck out our carefully curated packages to build a high-quality product and get unparalleled support. Click on the button and find your match.
Explore our storeOptimize your tracking and analytics setup with our step-by-step Google Analytics and GTM Checklist. Perfect for business owners and marketers.
Get a detailed breakdown with cost & time estimations for any of your idea or project in 4 hours
Optimize your tracking and analytics setup with our step-by-step Google Analytics and GTM Checklist. Perfect for business owners and marketers.