Deploy To Shared Hosting With Github Actions

We already did a similar episode to this but instead of using #Github, we were using Git module that comes with #cPanel. That approach has some problems, at least the viewers of the channel have reported some problems. So now instead of using Git module from cPanel we are going to be using Github and Github #Actions to deploy our site to staging and production servers. Github Actions makes this so easy, as you will see in the video.
----------------------------------------------------------------------------------------------
⭐ Kite is a free AI-powered coding assistant that will help you code faster and smarter. The Kite plugin integrates with all the top editors and IDEs to give you smart completions and documentation while you’re typing. You can check it out here: bit.ly/3qdjIc5​​
------------------------------------------------------------------------------------------------
You can support my work on Patreon
/ watchlearn
Follow me on Social Media
Github: github.com/ivandoric
Twitter: / ivan_doric
Instagram: / watchlearntuts
Facebook: / watchlearntutorials

Пікірлер: 139

  • @Nothing-cx4jt
    @Nothing-cx4jt2 жыл бұрын

    Amazing tutorial. That's what I was looking for. Simple yet so clearly explained. Thank you so much.

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    2 жыл бұрын

    Glad I could help, and thanks for watching 😀

  • @amindusaputhanthri
    @amindusaputhanthri2 жыл бұрын

    Amazing. Thank you very much Sir. Love from Sri Lanka 🇱🇰

  • @ceeeff770
    @ceeeff7702 жыл бұрын

    This is so simple yet I had been struggling to put everything together. Great tutorial, covered all the angles.

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    2 жыл бұрын

    Nice. Glad I could help 😀

  • @mememihnea
    @mememihnea2 жыл бұрын

    Simply great! Good stuff, keep up the good work.

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    2 жыл бұрын

    Thanks man! 😀

  • @WillGittens001
    @WillGittens0012 жыл бұрын

    Thanks man!! Simple, fast and complete.

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    2 жыл бұрын

    Glad you like it 😀

  • @mattskelton9332
    @mattskelton93322 жыл бұрын

    Fantastic. Just what I was looking for. Thanks!

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    2 жыл бұрын

    Glad I could help 👍

  • @llouzada
    @llouzada Жыл бұрын

    Amazing solution! I´ll be implementing that soon

  • @JacquesvanWyk
    @JacquesvanWyk2 жыл бұрын

    Awesome man so simple and exactly what I needed.

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    2 жыл бұрын

    Glad I could help 😀

  • @thanhminh1602
    @thanhminh1602 Жыл бұрын

    Very good, easy to work. Let me try it. Thank you!

  • @chaddavis7325
    @chaddavis7325Ай бұрын

    Amazing tutorial! Thank you!

  • @ahmetozfen
    @ahmetozfen Жыл бұрын

    Great job! Thank you for making my job so easy

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    Жыл бұрын

    No problem 😄

  • @ashkanahmadi
    @ashkanahmadi2 жыл бұрын

    Great thank you so much. I can finally let GitHub push my changes to the server instead of manually deleting and reuploading files every time!! Highly appreciate it

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    2 жыл бұрын

    Glad I could help 😀

  • @skycrossbones
    @skycrossbones2 жыл бұрын

    Man, thank you so so so so so much, you are a live saver.

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    2 жыл бұрын

    Glad I could help 😀

  • @brunolima2589
    @brunolima25893 жыл бұрын

    Awesome tutorial, really thanks!

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    3 жыл бұрын

    You are welcome! 😀

  • @devMoemen
    @devMoemen Жыл бұрын

    Amazing tutorial. thank you vey much

  • @Rob-cq1nf
    @Rob-cq1nf3 жыл бұрын

    very well and understandably explained 👍 Thanks

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    3 жыл бұрын

    Thanks :)

  • @sai_charan
    @sai_charan3 жыл бұрын

    Thank you, Ivan!

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    3 жыл бұрын

    No problem 😀

  • @_thewatcher27
    @_thewatcher27 Жыл бұрын

    Thanks! You deserve a sub!

  • @fredygerman_
    @fredygerman_2 жыл бұрын

    Thank youuu so much for this ❤️

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    2 жыл бұрын

    You are welcome 😀

  • @JesseUnderscoreMartin
    @JesseUnderscoreMartin Жыл бұрын

    Very good video!

  • @mhcostapimenta
    @mhcostapimenta2 жыл бұрын

    Great job! Awesome!!!

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    2 жыл бұрын

    Thanks man! 😀

  • @ambymbayi
    @ambymbayi9 ай бұрын

    nice tutorial. What are the themes you are using for terminal and vscode?❤ then really look awesomw

  • @TheLastArcher
    @TheLastArcher Жыл бұрын

    Helped me a lot, Thanks

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    Жыл бұрын

    Nice 😄

  • @sayedatiqurrahman1483
    @sayedatiqurrahman14838 күн бұрын

    so helpful video, recommended

  • @dast6915
    @dast69153 жыл бұрын

    just what i wanted to do. so will try it out on the next push

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    3 жыл бұрын

    Glad I could help :D

  • @jovan_script
    @jovan_script2 жыл бұрын

    Good stuff, thanks!

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    2 жыл бұрын

    Thanks for watching 😀

  • @khuntipsngi
    @khuntipsngi Жыл бұрын

    Saved a ton of my time ❤

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    10 ай бұрын

    Nice 👍

  • @vladyslavbondarenko4983
    @vladyslavbondarenko49833 жыл бұрын

    Thanks man! 👍👍👍

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    3 жыл бұрын

    Thanks for watching. :)

  • @md.ziaurrahman9146
    @md.ziaurrahman91462 жыл бұрын

    Really Amazing tutorial!

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    2 жыл бұрын

    Thanks 😀 hope it helps.

  • @dan_le_brown
    @dan_le_brown Жыл бұрын

    Awesome content. New subscriber 🙌

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    Жыл бұрын

    Thanks, glad you like the content 👍

  • @sarunaskybartas6025
    @sarunaskybartas60252 ай бұрын

    Hi, thank you 🤘

  • @sebastiannieroda9022
    @sebastiannieroda9022 Жыл бұрын

    Hi. Great tutorial like always. Thanks a lot! But i have an error: "Error: Server sent FIN packet unexpectedly, closing connection." Any idea what could be the reason?

  • @sayidinaahmadalqososyi9770
    @sayidinaahmadalqososyi9770 Жыл бұрын

    Thanks bro, u help me a lot with a simple way😅

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    Жыл бұрын

    No problemo 😄

  • @switchlyrics.
    @switchlyrics.2 ай бұрын

    Helpful

  • @lalustinetech7668
    @lalustinetech76682 жыл бұрын

    Thank you so much for this tutorial, its great help. In my case, i want to deploy laravel project but in github, vendor file will not be uploaded so in each time of deployment, is there any way to include vendor folder or run some command ?

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    2 жыл бұрын

    Your vendor folder is probably defined in .gitignore. As it should be. You can remove it from there and then your vendor folder will be uploaded. But that is not recommended. What you need is some action that will run: `composer install` once your files are uploaded. But that can't be done with the simple setup like in the video. Doesn't Laravel eco system have like a million tools for deploying Laravel (Laravel Forge or something like that)? Also you can look for specific Laravel actions on github and start from there, this video is meant and will work with static sites only.

  • @jajahmahn7083
    @jajahmahn7083 Жыл бұрын

    Life Saver

  • @manuelmedina4147
    @manuelmedina41473 жыл бұрын

    Thanks!!!

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    3 жыл бұрын

    You are welcome 😀

  • @verynice.mp4613
    @verynice.mp4613 Жыл бұрын

    How You would run it if you have more then one FTP server? In my case I need to deliver same files to 9 different FTP servers.

  • @SebastianPerezG
    @SebastianPerezG3 жыл бұрын

    Question , this also compares que newest or changed files in the ftp o copies all again ?

  • @kemekenneth

    @kemekenneth

    3 жыл бұрын

    No, it doesn't. Same question I came to ask here. It would be nice and less expensive if it can upload just the updates files.

  • @padmakarkasture2969
    @padmakarkasture29693 жыл бұрын

    best ever

  • @love-beautiful-afghanistan
    @love-beautiful-afghanistan2 жыл бұрын

    Question: Does that work with Addon domains the same way with subdomains? I am working on a website that the main folder is located in public_html and it has addon domain.

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    2 жыл бұрын

    I don't know. You can try it, and see what you get.

  • @kuldeepchaturvedi1894
    @kuldeepchaturvedi1894 Жыл бұрын

    Hey Dude Thanks for the demo. I have one question how can I change the configuration of a file before deploying it to server? I want to change the database name before deployment.

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    Жыл бұрын

    That info is usually saved in .env files. However you would not send .env files through git, because database name, username, password would usually be differnet locally. So you have to add .env file manually, through FTP.

  • @richardlee2708
    @richardlee27082 ай бұрын

    Perfect walkthrough. Just remember your / on your directories which I forgot!

  • @_romeopeter
    @_romeopeter3 жыл бұрын

    Thank you! This is way easier than using TravisCI

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    3 жыл бұрын

    Glad I could help 😀

  • @ramirezvilla
    @ramirezvilla Жыл бұрын

    This is awesome, will an angular application work with hostgator hosting service, using this method. Im very new to this. Thank you for your service!! Great videos

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    Жыл бұрын

    I would guess probably not. But I never used Angular so I can't be sure.

  • @samsenolay2210
    @samsenolay22107 ай бұрын

    Bro. I'm using Special FTP Accounts instead of just normal FTP Accounts. So, will still that works?

  • @justinchristensen23
    @justinchristensen233 жыл бұрын

    Any update on when the Wordpress/Next.js Course will be available?

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    3 жыл бұрын

    No, sorry. It's going really slowly, because of personal life - child, moving houses, just started on a new job etc. Only thing I can say it will be done when it's done. Sorry.

  • @BillElgin
    @BillElgin6 ай бұрын

    Instead of using FTP, can you tell me how to modify the script so it uses SSH to push the files to the shared hosting server?

  • @MrAlao675
    @MrAlao6754 ай бұрын

    This is so good. Can we use this with Private Repo? Thank you!

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    4 ай бұрын

    I think you could use a private repo, sure.

  • @phantasythenoob
    @phantasythenoob2 жыл бұрын

    How do I set production as default root directory

  • @ezra3871
    @ezra38712 жыл бұрын

    thank you

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    2 жыл бұрын

    No problem 👍

  • @jonice4229
    @jonice42292 жыл бұрын

    What IDE are you using?looks awesome

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    2 жыл бұрын

    It's VS Code. Nothing special 😀

  • @RustyNox
    @RustyNox11 ай бұрын

    There are issues with Sam's FTP/SSH action tools today, likely regarding ED25519 key changes. Such a shame, hoping the team can fix soon.

  • @stefanbogdanovic590
    @stefanbogdanovic5903 жыл бұрын

    Cao Ivane, da li ovaj github actions moze da se primeni i na Wordpress? Hvala unapred majstore :)

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    3 жыл бұрын

    Može, zašto ne. Jedino naravno, pošto WP radi kako radi, morat ćeš i dalje bazu prebacivati ručno. Ali datoteke možeš bez problema prebacivati na ovaj način.

  • @stefanbogdanovic590

    @stefanbogdanovic590

    3 жыл бұрын

    @@WatchandLearnTutorials Hvala ti punoo :). Sve najboljee.

  • @bimasakti-nb2el
    @bimasakti-nb2el2 жыл бұрын

    what if I added a .gitignore file in my project (I currently using laravel), the "vendor" folder cant be uploaded to my GitHub project because I ignore that folder in the .gitignore file. this can be a problem for my application whos required that "vendor" folder. any solution pls?

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    2 жыл бұрын

    Well yeah. This video is mostly for static already prebuilt sites. Technically you can use this method but you shouldn't ignore vendor files then. Install them with composer and just push everything. Because a lot of shared hostings don't even have composer installed so you can't install them on the server. I think much better solution would be to use something like Digital Ocean or something like Cloudways which is made for PHP apps. I have a video about it here: kzread.info/dash/bejne/Y2Zrl9CvZLrem84.html ... I'm not into Laravel anymore but AFAIK there are apps you can use for better CI/CD experience like forge.laravel.com/ this is specifically made for Laravel deployments, so that maybe right solution for you.

  • @whatnothin1401
    @whatnothin1401 Жыл бұрын

    Na šta bi trebalo obratiti pažnju ako je u pitanju react app? Pretpostavljam da bi u nekom momentu u akcije trebalo upaciti "npm build" :D, hvala u svakom slučaju, super tutorial! pozz

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    Жыл бұрын

    Da, ali i zavisi šta radiš, ako praviš kompletno statički site u npr. NextJS onda možeš samo baciti gore statičke fajlove, a build (npm run export) napraviš lokalno.

  • @whatnothin1401

    @whatnothin1401

    Жыл бұрын

    @@WatchandLearnTutorials Ok, hvala

  • @mrniamster
    @mrniamster3 жыл бұрын

    Can u please tell me how can I do it with dist folder as it's always recreated and .git folder is lost on every time I do npm run build 🙏😭

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    3 жыл бұрын

    What do you mean .git is lost every time you build? That should not be happening. As for dist folder you can either add additional build step to your yml files, or you can build locally, and push that to Github.

  • @mrniamster

    @mrniamster

    3 жыл бұрын

    @@WatchandLearnTutorials when I do build in vue cli , all files are re-created with newly changes in dist folder, I want to push the dist files to git , so as of now I copy .git folder and paste manually back to push again as .git folder is deleted on evry npm run build

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    3 жыл бұрын

    @@mrniamster I still don't understand. Why are you touching .git folder? You should not touch that folder.

  • @mrniamster

    @mrniamster

    3 жыл бұрын

    @@WatchandLearnTutorials ok I say again, When I do npm run build , It produces /dist folder on production Now I create git on dist folder to push on my shared hosting But when I do a npm run build again later the .git folder is removed ,due to which I loose info about tracked files so I had to git init again Problem: I want to stop vue cli to delete the .git folder

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    3 жыл бұрын

    @@mrniamster Maybe ask at some of the Vue channels, npm run build should not delete .git folder. There is something very weird happening on your end then. Honestly I've never heard of something like this. npm should only build your files, nothing should make changes to .git folder except for git commands.

  • @hamzasaqib3802
    @hamzasaqib38022 жыл бұрын

    i am using this to deploy my laravel project but issue is its no transferring the complete file, like composer.lock and routes etc

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    Жыл бұрын

    This method is only good for static sites, it won't work with something like Laravel or Node apps, because there you would usually need to run 'composer install' or 'npm install' to install all the dependencies. But if composer.lock or routes are not transfered then check your .gitignore, maybe those files are ignored.

  • @hamzasaqib3802

    @hamzasaqib3802

    Жыл бұрын

    @@WatchandLearnTutorials yup you are right about composer install. and i have triple check the gitignore.

  • @ubaidkhan426
    @ubaidkhan4262 жыл бұрын

    Good :thumb

  • @flavienrako979
    @flavienrako9793 жыл бұрын

    very well easy to implement. Is there a way to host strapi in cpanel hosting ?

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    3 жыл бұрын

    Yes there is. And I have a video about it: kzread.info/dash/bejne/l5aLrMSbhbeahKQ.html however, I would advise against that, because your Strapi app will probably stop working after a day or two, even when using something like PM2. At least that was how it behaved on my hosting. So it would be better to use something like Digital Ocean, AWS etc. for hosting Strapi. Shared hosting/cPanel is just not ready for something like that.

  • @flavienrako979

    @flavienrako979

    3 жыл бұрын

    @@WatchandLearnTutorials thanks for your advice. Actually I host my application at Heroku, I'm familiar with the cpanel environment but never used it for node app, I want to test it with pm2.

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    3 жыл бұрын

    @@flavienrako979 Did you test it? How did it go?

  • @flavienrako979

    @flavienrako979

    3 жыл бұрын

    @@WatchandLearnTutorials Yes and I have a lot of trouble with my server. So, I decided to take a server vps at ionos. And now I'm trying to dockerize my strapi application .

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    3 жыл бұрын

    @@flavienrako979 Hehe :) ... cool. So you are bringing Docker to the fight 😀 ? Hope that works out. Let me know how it goes.

  • @umahatokula9586
    @umahatokula95862 жыл бұрын

    Is it my FTP credentials from cpanel I will enter in github secret?

  • @ShaunEk1

    @ShaunEk1

    2 жыл бұрын

    Yes, get the ftp info from your hosting provider and put that in as secrets in GitHub

  • @Guna586
    @Guna586 Жыл бұрын

    Hey, the Kite link is broken, just thought to notify you.

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    Жыл бұрын

    Kite doesn't exist any more. So yeah :) www.kite.com/blog/product/kite-is-saying-farewell/

  • @padmakarkasture2969
    @padmakarkasture29693 жыл бұрын

    how to setup on server side ftp to use github action

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    3 жыл бұрын

    You don't need any special setup, you just need to know where the files are going to be pushed, your username and password.

  • @CodePopular
    @CodePopular Жыл бұрын

    Error: Deploy {"code":421,"message":"connect: Sorry, cleartext sessions and weak ciphers are not accepted on this server. Please reconnect using TLS security mechanisms."}

  • @MilanDrazic
    @MilanDrazic2 жыл бұрын

    can you show us how to deploy the MERN stack app on the c panel with GitHub action??? I have a client folder and server folder at the root of the app and create .github/workflows. What is next to build React app or leave. And show me err on workflow: can't connect to FTP or FTPs may be because sftp bla bla bla.

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    2 жыл бұрын

    I would not deploy MERN stack on shared hosting, you need to use something like AWS, Digital Ocean etc.

  • @MilanDrazic

    @MilanDrazic

    2 жыл бұрын

    @@WatchandLearnTutorials I deploy server on heroku and front on shared host But problem is that client need to have github.

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    2 жыл бұрын

    @@MilanDrazic I don't understand this question?

  • @fadjristudio6804
    @fadjristudio6804 Жыл бұрын

    Is there is no setup in shared hosting ? Is it secure ?

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    Жыл бұрын

    It's secure as if you are uploading something to your server manually via FTP.

  • @petarblazevic397
    @petarblazevic3973 жыл бұрын

    Can you make tutorial how to deploy strapi on cpanel shared hosting and connect to database on cpanel

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    3 жыл бұрын

    I have an episode about deploying Strapi to shared hosting: kzread.info/dash/bejne/l5aLrMSbhbeahKQ.html however I would advise against that because Strapi or most of Node apps just don't work very well on shared hosting... at least not mine, as you would be able to see in the video mentioned above. Better deploy it to Digital Ocean, AWS, or some other similar service.

  • @petarblazevic397

    @petarblazevic397

    3 жыл бұрын

    @@WatchandLearnTutorials is there a service where you could deploy strapi for backend, database, nextjs frontend and mail server? I was looking into firebase but i doesn't have mail server. Now i have cpanel on shared hosting, but as you sad it would be better on none shared.

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    3 жыл бұрын

    @@petarblazevic397 You can deploy everything to Digital Ocean, AWS, Vultr, Hetzner or similar service, what you need is VPS. They can be a bit pricey, AFAIK Hetzner is most affordable, however you would need some devops skillis to set everything up, these services won't do that for you. However, Digital Ocean has "one click" installation for Strapi, so you can try that ( marketplace.digitalocean.com/apps/strapi ). You can get $20 for Digital Ocean from this video: kzread.info/dash/bejne/e5-o0NeNabjNkrA.html

  • @kacperkepinski4990
    @kacperkepinski49905 ай бұрын

    what if this is react app?

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    4 ай бұрын

    You would need to add a build step, or you could build it locally and just push that since that way you just get a static site. If it's a framework like Next.js with SSR then this would need to be more involved and also you probably wouldn't be able to host it on a shared hosting.

  • @jimmacdiarmid8230
    @jimmacdiarmid82303 жыл бұрын

    Great Tutorial! Thank you!

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    3 жыл бұрын

    You are welcome 😀

  • @Alirezamxz
    @Alirezamxz2 жыл бұрын

    Great Tutorial! Thank you!

  • @WatchandLearnTutorials

    @WatchandLearnTutorials

    2 жыл бұрын

    Thank you for watching 😀