Over the past few years, I’ve been working on several different projects mostly for fun or my own learning. There was always nothing like spending hours on the development of these projects (which have mostly been websites) then the excitement of deploying to share with the world.
Deploying can be quite overwhelming, mostly because of the vast amount of ways that you can do it. I recall when I was still starting out, trying to publish my projects was another often stressful thing to figure out. Googling can lead you down several rabbit holes, especially if this is your first time deploying anything. Trust me, I know that based on my own experience. 😂
Luckily today it is easier than ever to get your projects online. Different services nowadays not only deploy your website for you but also allows you easily update your changes without thinking much about it. In some cases, a quick push of new code to your main branch is all it takes once it’s all set-up which is awesome!
Here are some of my favourite ways to deploy web-based projects. (Bear in mind, these are mostly small websites.)
Vercel
I recently used Vercel for the deployment of a recent re-build of my portfolio. You can read about my experience of re-writing my portfolio from scratch in Next.is here.
Out of the other ways I’ve deployed my websites in the past, Vercel was by far the greatest developer experience. It was quick and easy to set-up and even easier to deploy any changes after the initial push. I have since moved all my other small projects to this way of deployment just because of how easy it is!
GitHub Pages
A popular way of deploying small websites is using GitHub Pages. This was my favourite way of deployment for a couple of years! I first learned it off a Code First: Girls Web Development course back in 2016.
Your website would be hosted directly from your GitHub repository which means that any changes that you need to make moving forward, all you’d need to do is to push your changes to your main branch and your changes should be live in minutes.
AWS CodeDeploy
If you like Amazon Web Services (AWS), their various Code services might be the solution for you. CodeDeploy specifically works great with CodeCommit (a code repo, similar to GitHub) but can also be integrated with GitHub, AWS CodePipeline or Jenkins.
I recently used CodeDeploy for a small React project at work and was surprised by how easy it was to set-up. Similar to the rest of the deployment services I’ve listed already, AWS CodeDeploy makes continuous deployment as simple as possible.
A cool thing about using AWS CodeDeploy is the fact that since it is integrated with the vast variety of AWS services, you can do some pretty awesome things. For this small project at work, I set-up SNS alerts that were sent to a Slack channel. This was useful for collaboration because developers on the project could see when a PR was raised and what needed approving.
I also just like playing around with AWS services and seeing how they all work together. I find it super cool 😂
Heroku
Similar to Vercel, Heroku has a pretty streamline flow when it comes to continuous delivery. One of my Code First: Girls Python project and a hackathon project was deployed on Heroku! It definitely is another way to maximise developer productivity and support that modern development practice of continuous deployment.
And there you have it – just some of the ways that I have deployed several of my small website projects. All of them differ slightly but at the centre of it all focus ensuring that the deployment process is simple for everyone.
Over to you – what are some of your favourite ways to deploy small projects?
Top comments (6)
It's not clear to me whether this is about where to deploy or how to deploy. Eg: github pages is where you deploy (where your static side could be hosted) bit codedeploy is how to deploy (you need a target like s3 or ec2).
Hey Andrei! Apologises if it wasn't very clear. I think what I was getting at was more like "oh, here are some ways to deploy your small website projects" I've used all of these to deploy a project at some point. I decided not to go into detail for each one but included links to docs which may be better than a super long post!
It's not about details. Github pages and heroku don't do the same thing as code deploy. It would make more sense to replace codedeploy by s3.
I love Netlify! I had some trouble with Vercel, but now that I think of it, it's probably my fault than Vercel's 😆. Still, I like Netlify and Vercel's easy dashboard and setup! Netlify is getting better and better than a couple years ago when I first used it - I can manage my site so easily with their powerful hosting service 🚀
I also really like Netlify. Their instant rollback functionality is great. You can see all the previous versions of the page and do an instant rollback...
Helpful links ❤️