Auto Deploy Nodejs Rest API on AWS EC2 | CI/CD pipeline using GitHub Actions

  Рет қаралды 48,311

Web Wizard

Web Wizard

Күн бұрын

Hello everyone! In this video, we will set up automatic deployment of Nodejs Rest API on AWS EC2 instance using GitHub Actions
The API was built using Express ( Node.js framework ) and MongoDB Atlas which is a NoSQL cloud database platform.
You'll learn How to:
➤ Login to the AWS console and create an EC2 instance
➤ Setup GitHub Repo and Push your project
➤ Login to EC2 instance using Windows Powershell as well as PuTTY
➤ Setup GitHub Action runner on the EC2 instance
➤ Create GitHub Secrets for managing environment variables
➤ Create CI/CD Workflow using GitHub Action
➤ Install nodejs and nginx on the EC2 instance
➤ Install pm2, a process manager for Node.js production applications
➤ Configure nginx and how to restart it
➤ Run backend node.js rest api built using the express framework in the background as a service using pm2
➤ Add the command in yml script of the project to restart the nodejs api server after every push to the repo
➤ Support me by COMMENT, LIKE, SUBSCRIBE, and SHARE
➤ Channel link - / @webwizard8
➤ Music Licence:
Song: Atch - Freedom
Music provided by Vlog No Copyright Music.
Creative Commons - Attribution 3.0 Unported
Video Link: • Atch - Freedom (Vlog N...
Song: Hotham - Find
Music provided by Vlog No Copyright Music.
Creative Commons - Attribution 3.0 Unported
Video Link: • Hotham - Find (Vlog No...
Song: LiQWYD - Sweet
Music provided by Vlog No Copyright Music.
Creative Commons - Attribution 3.0 Unported
Video Link: • LiQWYD - Sweet (Vlog N...
Song: LiQWYD - We've Got Time
Music provided by Vlog No Copyright Music.
Creative Commons - Attribution 3.0 Unported
Video Link: • LiQWYD - We've Got Tim...
#autodeploy #nodejsrestapi #awsec2 #cicd #githubactions #restapideployment #nodejsdevelopment #awsec2deployment #githubactionstutorial #nodejsexpress #deployrestapionec2 #awsec2cicd #githubactionspipeline #restapiawsec2 #deployrestapi #cicdpipeline

Пікірлер
@webwizard8
@webwizard8 Жыл бұрын
GitHub Repo - github.com/kalyansaxena/nodejs-restapi-ec2 GitHub Actions - github.com/features/actions AWS Management Console - aws.amazon.com/console/
@pulsechainalltheway1845
@pulsechainalltheway1845 7 ай бұрын
This is amazing, I have been looking for a video that properly explains the whole process of deploying a Nodejs app with a CI/CD pipeline using GitHub actions. Thanks a lot.
@taufikalam4408
@taufikalam4408 Ай бұрын
Great man, you have covered almost everything. Thank you!
@shyam-bh
@shyam-bh 11 ай бұрын
After researching and viewing so many resources, this is what i was looking for, thank you so much for this video. Keep posting such videos.
@uvaishassan
@uvaishassan Жыл бұрын
I spent hours searching for help on this exact thing, this was the only video that left me satisfied. Thanks for the video
@webwizard8
@webwizard8 Жыл бұрын
I'm glad that the video met your needs and left you satisfied! Your kind feedback motivates me to create more content. Thanks for watching and for your support! 😊
@MayankMishra-oy5xe
@MayankMishra-oy5xe Жыл бұрын
Very well structured and clean explanation. Please do continue to make these kind of videos. Good luck. You got a subscriber !
@bishnupandey8615
@bishnupandey8615 28 күн бұрын
such a amazing video i have never watched that kind of simple video
@breezycodes
@breezycodes Жыл бұрын
Wow.. i have been doing env variable loading wrong all along 😂😂😂. Thank you. I never thought about doing it this way
@zackOverflow
@zackOverflow 9 ай бұрын
WOW!!! You are the best man!. Thank you so much, you nailed it.
@amardeep6088
@amardeep6088 Жыл бұрын
It was the best video ever for this. I followed every step of yours. whenever I have to modify something according to my need I just ask chat-gpt. Thanks a lot!
@webwizard8
@webwizard8 Жыл бұрын
Thank you for your kind words!! I'm really happy that it helped you!
@AbhayRamteke-o4p
@AbhayRamteke-o4p 7 ай бұрын
This is the best video i have ever seen on this topic keep growing brother
@nehjain
@nehjain 7 ай бұрын
Great Video, lots of information, I was exactly looking for this! 😍
@abdelrehmanmamdouh2403
@abdelrehmanmamdouh2403 4 ай бұрын
Thanks a lot, this really helped and cleared a lot of struggles
@soburalasu6736
@soburalasu6736 6 ай бұрын
Thank you my friend. You saved my job
@altairfarooque8663
@altairfarooque8663 9 ай бұрын
Thank you very much ,for sharing this content . It saved me lot of time and have gained lot of knowledge.
@uzochukwuamarabenneth2583
@uzochukwuamarabenneth2583 4 ай бұрын
Great video, a cool addition would be adding different environments (prod, dev, staging)
@joetrades2472
@joetrades2472 3 ай бұрын
With the stuff he taught is enough to do it yourself. Just create the pm2 instances for each branch and the corresponding github action logic for it
@uzochukwuamarabenneth2583
@uzochukwuamarabenneth2583 3 ай бұрын
@ yeah, I’ve done it severally, just pointed out an improvement cos anyone that wants to implement this would most definitely want separate environments.
@harshitbhargav6288
@harshitbhargav6288 Ай бұрын
Amazing video and learn how to deploy node js app with CI/CD pipeline via github actions this process can reduce manually work.
@DaniyalSohail-p5j
@DaniyalSohail-p5j 11 ай бұрын
Kudos brother. Keep up the good work.
@alibahman-mk3ib
@alibahman-mk3ib 4 ай бұрын
very very useful and easy to understand .thanks bro
@tuphamanh9766
@tuphamanh9766 6 ай бұрын
nice tutorial video, helped me understand this concept alot
@shehzadali6713
@shehzadali6713 5 ай бұрын
Thanks, Amazingly explained man Could you please make a video on eks , load balancing nodejs ci CD pipeline
@iayushch
@iayushch 6 ай бұрын
Thankyou so much brother. you are own, you saved my lots of time
@__mas
@__mas Жыл бұрын
Very clear explanation - well done and thank you!
@webwizard8
@webwizard8 Жыл бұрын
Thank you, Glad it was helpful!
@huzaifa_a4602
@huzaifa_a4602 11 ай бұрын
Thank you, it was a wealth of knowledge. 😁😊
@ArtemiiVorobev
@ArtemiiVorobev 4 ай бұрын
Thank you! Very useful video!
@Richie98-p8k
@Richie98-p8k Жыл бұрын
Hi bro, Loved your explanation on this video. Thank you soo much for this content. Please make more videos, Don't stop it
@webwizard8
@webwizard8 Жыл бұрын
Thank you, More to come!
@ibadshaikh2215
@ibadshaikh2215 7 ай бұрын
Thanks alot for this amazing video!
@Manish___Choudhary
@Manish___Choudhary Жыл бұрын
Loved it ❤️👍
@UditNagar-of5su
@UditNagar-of5su 7 ай бұрын
Best Resource...Thanks sir ❤❤
@Hoid1014
@Hoid1014 2 ай бұрын
you are God bro. Thank you
@kuldeeppanwar9513
@kuldeeppanwar9513 5 ай бұрын
Thanks bro new skill added😅👍
@Mainak908
@Mainak908 Жыл бұрын
Plz zoom a little bit...there r many mobile viewers... overall video is good ❤
@ok.tanmay
@ok.tanmay 9 ай бұрын
thanks for the tutorial it helped a lot
@patshalaaa
@patshalaaa 7 ай бұрын
Awesome bhaii.....subscribed
@neutralengineer3873
@neutralengineer3873 5 ай бұрын
Hats off man 💪
@anilsaipinnelli1866
@anilsaipinnelli1866 Жыл бұрын
Excellent Explanation brother
@AshenSandeep-jc5iw
@AshenSandeep-jc5iw 7 ай бұрын
well explained. easy to deploy ,
@AnindoSarker
@AnindoSarker Жыл бұрын
Thank you. Good video with good explanation
@webwizard8
@webwizard8 Жыл бұрын
You're welcome! I'm glad you found the video and explanation good
@GauravN-ni5ps
@GauravN-ni5ps 11 күн бұрын
Thank you so much, very nice video but i have a doubt i am using the private repository so how do i configure that and run the workflow, please do give the steps for this
@Hrit
@Hrit Жыл бұрын
Clean Explanation thanks!
@RaviKumar-b5u1u
@RaviKumar-b5u1u 4 ай бұрын
Really , awesome video. I have a question like in our company all the time we are reloading our machine like using pm2 reload 10 . How can we achieve that functionalities.
@fullstack7419
@fullstack7419 4 күн бұрын
good one
@LeulDam
@LeulDam Жыл бұрын
Thank you for this, can you also show how to do this with auto scaling running multiple ec2 instances?
@KamruzZaman-x7e
@KamruzZaman-x7e 4 ай бұрын
It's amazing
@PrashantKumar-nc8gd
@PrashantKumar-nc8gd 2 ай бұрын
Hey, can I know how you have changed the background image of powershell?
@MOSELEY_DEV
@MOSELEY_DEV 7 ай бұрын
Thanks man!
@joetrades2472
@joetrades2472 3 ай бұрын
Great video crack
@dineshindn4404
@dineshindn4404 7 ай бұрын
great work
@BhoopendraBhaskar-w8n
@BhoopendraBhaskar-w8n 4 ай бұрын
your rock
@manishkini9206
@manishkini9206 Жыл бұрын
Amazing video
@dannysalvage6236
@dannysalvage6236 10 ай бұрын
Thank you so much.
@techy_satyam
@techy_satyam 5 ай бұрын
osm
@OmerEtrog
@OmerEtrog Жыл бұрын
thank you, very helpfull
@webwizard8
@webwizard8 Жыл бұрын
You're welcome! I'm delighted to hear that you found the video helpful. Explore the channel for more content and consider subscribing!
@explorinsta9645
@explorinsta9645 9 ай бұрын
How can i have different stages for the above ? For example I have 2 ec2 instances and I have configured runners on both of them. One for staging and one for production. How can i do it?
@bishnudev1760
@bishnudev1760 Жыл бұрын
Thanks for the tutorial buddy ❤ I have deployed my Express server into AWS EC2 but it’s on http port and getting security issue in Frontend. Can you please make a video on how to change it to https ? Would be helpful 😊
@UptimeUnicorn
@UptimeUnicorn Жыл бұрын
you need to install install certificate on a application load balancer, then use SSL termination. ur EC2 will get a SSL. make sure to use route53 and AWS ACM to help u
@kushagra4401
@kushagra4401 Жыл бұрын
thanks a lot man!!
@webwizard8
@webwizard8 Жыл бұрын
You're welcome! I'm glad you enjoyed the video. Explore the channel for more content and consider subscribing!
@221miteshdevganiya2
@221miteshdevganiya2 3 ай бұрын
video is so much usefull, but brother i have one question like if i stop my instance and restart it so what i need to do ?
@webwizard8
@webwizard8 3 ай бұрын
Check PM2 Process List and verify express server is running or not: pm2 list If your app is not running, you can start or restart it with PM2: pm2 restart Refer to this for Automatic Startup on Boot - pm2.keymetrics.io/docs/usage/startup/
@ArcheSoftronix
@ArcheSoftronix 11 ай бұрын
hi great video, But how can we do this for 3 different environment ie, development, production, qa on aws
@7ga1336
@7ga1336 8 ай бұрын
can we use the same instructions on ubuntu instance ?
@king-virat-kohli
@king-virat-kohli 11 ай бұрын
Hi, I want to store the .env values in the github secreat. And then i want them to pull them to the docker. Which i am only able to do it for the first key value pair stored in the github secreat. I can load multi values from it. Can u help me out here?
@sc-nc6bb
@sc-nc6bb 11 ай бұрын
There will be some command equivalent to docker compose -logs to see the errors of the app on the server ?
@webwizard8
@webwizard8 10 ай бұрын
you can use PM2's built-in logging functionality to view logs. For example, you can use the "pm2 logs" command to tail the logs in real-time.
@yusufkaraaslan2888
@yusufkaraaslan2888 Жыл бұрын
Thank you so much
@webwizard8
@webwizard8 Жыл бұрын
You're welcome! I'm glad you enjoyed the video. Explore the channel to find more content!
@AmrendraChaudhary-o9r
@AmrendraChaudhary-o9r Жыл бұрын
Hey I have been setuped all the things but I'm unable to connect api I'm getting 404 error can you help me any of one
@SHINCHANplays26
@SHINCHANplays26 7 ай бұрын
sir can we do the same process for MERN stack application deployment and if i changed the source code and again i merged with the existing code in the github means will the application already deployed in the ec2 also change simultaneously or we need to restart the server? i'm a student sir please reply for this question. And i wants to reach you personally is there any possible way to contact you?
@alisalam4472
@alisalam4472 Жыл бұрын
thanks a lot bro
@webwizard8
@webwizard8 Жыл бұрын
You're welcome! I'm glad you enjoyed the video. Consider subscribing to the channel to get more content like this, Your support and feedback mean a lot to me!
@franciscojosemunozgarcia6014
@franciscojosemunozgarcia6014 Жыл бұрын
Hi Is it possible to create the action using other branch?
@sujjee
@sujjee Жыл бұрын
what is diff between jenkins and github actions?
@webwizard8
@webwizard8 Жыл бұрын
Jenkins and GitHub Actions are both tools used in the continuous integration and continuous deployment (CI/CD) process. Jenkins is an open-source automation server that allows building, deploying, and automating projects. It's highly customizable and has been in the market for a longer time, offering a wide range of plugins and integrations. On the other hand, GitHub Actions is a newer offering by GitHub that is tightly integrated with the repository. It allows you to automate tasks directly from your GitHub repository. It's well-suited for projects already hosted on GitHub and simplifies the CI/CD setup with its YAML-based workflows.
@scotly_emi
@scotly_emi 10 ай бұрын
can you make a video on using mysql
@WhyAlwaysMeDieFirst
@WhyAlwaysMeDieFirst Жыл бұрын
We neet to download Ubuntu in Laptop?
@carelitos3624
@carelitos3624 Жыл бұрын
Please how to auto deploy laravel rest API on AWS EC2 | CI/CD pipeline using github Actions and apache
@mohammadabid9520
@mohammadabid9520 Жыл бұрын
Hey I have been set-up all the things as per your guideline but I'm unable to connect api, I am getting 404 error can you help me any of one
@webwizard8
@webwizard8 Жыл бұрын
404 means not found error You need to verify the route has been implemented in your api
@peculiarbabalola4430
@peculiarbabalola4430 6 ай бұрын
I want to understand. Why ubuntu? Is there a specific reason or prejudice?
@neutralengineer3873
@neutralengineer3873 5 ай бұрын
Almost 90 percentage of website run on Linux server remotely. That's why Ubuntu is first choice of all.
@zx__952
@zx__952 Жыл бұрын
before i used github action and self hosted runner, i manually push my repo to my server. so currently i start using it and now i have issue where after the workflow fully deployed, the file has been changed inside _work file, but my server is running at my home directory, how to solve this?
@webwizard8
@webwizard8 Жыл бұрын
did you configured nginx web server? see the video where I've showed nginx configuration, this might help the role of using github actions workflow is to clone our github repo into _work folder whenever a change made to our github main branch once the repo is available inside _work then its our responsibility to make use of web server like nginx and redirect requests to the localhost port pm2 plays role for starting and restarting your express server
@zx__952
@zx__952 Жыл бұрын
@@webwizard8 so i have to pm2 start the nodejs file inside my _work folder? In my nginx, i configured it to detect /api/ and also my react build file that has been placed in /var/www/html, do i have to change this?
@tomhardy7734
@tomhardy7734 Жыл бұрын
Could you do a video on how to implement docker for this process?
@webwizard8
@webwizard8 Жыл бұрын
Thanks for your comment and interest in the video! I'll definitely consider creating a tutorial on implementing Docker for this process. Stay tuned for updates on my channel!
@tomhardy7734
@tomhardy7734 Жыл бұрын
@@webwizard8 Sounds great, thank you!
@webwizard8
@webwizard8 Жыл бұрын
@@tomhardy7734 mean time I'd recommend watching this video - kzbin.info/www/bejne/j3WxhHyqd7Nka9k
@idelsoldier2825
@idelsoldier2825 Жыл бұрын
I am not getting _work folder
@yunusyas3158
@yunusyas3158 Жыл бұрын
did you find it
@Anurag_Dhrejen
@Anurag_Dhrejen 10 ай бұрын
How to make this http api request with https
@AndranikToplaghatsyan
@AndranikToplaghatsyan Жыл бұрын
Hi bro very nice video but can you help me ???? when i on pm2 start i recive 502 gatway error message and I can't fix it,,, i dont understand it .. please help me ???
@webwizard8
@webwizard8 Жыл бұрын
If nginx is having problem reaching out to the web server then you'll encounter 502 bad gateway error So culprit would be your express server make sure to run pm2 start command inside your repo folder where server.js file exists observe the video from 30:45 onwards
@ttaylor9916
@ttaylor9916 4 ай бұрын
Would be great without the music.
@differentfun9797
@differentfun9797 Жыл бұрын
how can I start my Next.js project using pm2 command?
@muhammadmoiz1593
@muhammadmoiz1593 Жыл бұрын
pm2 start "yarn start" --name "next"
@AtomiCoding
@AtomiCoding 9 ай бұрын
SSL kese kre bolo bhia
@marklouiedullavin4668
@marklouiedullavin4668 11 ай бұрын
bakit parang malungkot ka?
@neutralengineer3873
@neutralengineer3873 5 ай бұрын
Keep zooming screen
@dhineshd68
@dhineshd68 Жыл бұрын
I want make https request how to implement that,i have a https setup in my node server,since i am developing a mobile app i used https requests
@reactjs1900
@reactjs1900 Жыл бұрын
These runners are getting stopped after some days
@webwizard8
@webwizard8 Жыл бұрын
Hi, Thanks for bringing up to the notice, I'd recommend going through this docs once - docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#usage-limits
@NarayanMaity-z5n
@NarayanMaity-z5n Жыл бұрын
@@webwizard8 hey I have a question if this self hosted runners and workflows are stopped after a certain time does this effect on my application which is in aws
@reactjs1900
@reactjs1900 Жыл бұрын
@@NarayanMaity-z5n It will not affect you application, but new pushes will not be reflected there.
@ttaylor9916
@ttaylor9916 2 ай бұрын
no git, but lots of music references....
@SamuelTitinho
@SamuelTitinho 3 ай бұрын
At this moment, you pollute the whole environment with background noise and expect someone to “watch, subscribe and share”?? 😂
@larapiostech
@larapiostech Жыл бұрын
Thank u bro ..
@webwizard8
@webwizard8 Жыл бұрын
You're welcome! Thank you for watching!
Deploy Node.js REST API on CYCLIC | CRUD | Express | MongoDB Atlas
11:34
Каха и дочка
00:28
К-Media
Рет қаралды 3,4 МЛН
Easily Deploy Full Stack Node.js Apps on AWS EC2 | Step-by-Step Tutorial
29:00
Setup CI/CD on AWS for NestJS(NodeJS)
20:27
Computing Power
Рет қаралды 14 М.
GitHub Actions Tutorial - Basic Concepts and CI/CD Pipeline with Docker
32:31
TechWorld with Nana
Рет қаралды 1,6 МЛН
Deploy Next.js application to AWS EC2 using GitHub Actions
29:13
Integration Ninjas
Рет қаралды 9 М.