Is implementing a full-fledged #CICD in your project is difficult? Well - it depends.
The most important part is to start adding at least some parts of it.
A thread 🧵
Start using Version Control
If you are still not using #git then... start using it. Using git is very easy you don't even need to use CLI thanks to tools like @GitKraken.
Thanks to version control you'll be able to track all the changes in your code.
Automate the deployments first
Just like this. Use a service like @buddygit, GitHub Action, etc to move your files from your repo to your servers - development, staging, or production.
It's also more secure as you won't be sharing passwords with all developers.
Download dependencies & Build and optimize assets
Next, start using composer and npm. Thanks to them you'll be able to download all the libraries you need in your project with just one command.
Don't forget to use webpack or gulp to build and optimize all your JS and CSS files.
Testing without writing tests
There are a lot of possibilities to test your app/website without even writing a line of tests.
- check if it's working after deployment
- run code sniffs to ensure code quality
- visual regression testing
- static analysis
Time to start writing tests
In the end, you have to start writing tests. There are unit, functional and e2e tests.
Each one serves a bit different purpose. Overall start with those that feel the most needed in your project so you can guarantee that your website is working.
Add more tests
After ensuring your website works, start adding more tests. It will help you pinpoint any bugs and errors much quicker.
It will also help you later during any refactoring.
And that's it. It's not an easy journey, but you can do it step by step. I hope that at the end you'll be able to deploy your code with confidence and without introducing new bugs :)