Up until now, we have generally worked on small SilverStripe projects. A single developer on the team would generally work on the project until deployment. It was up to each developer on the team to maintain their own development environment. Deployment was done manually (via FTP) to shared hosting. This worked adequately as the projects were small, shared hosting sufficient and changes were infrequent.
We are hoping to work on more substantial projects now and have multiple developers working on the same project. Our previous development processes simply won’t be adequate anymore. We have Windows, Macs and Linux development machines across the team. Far too much time is spent on ironing out idiosyncrasies of developers’ machines and then again deployment to production servers.
So I’d really like to hear what everyone else is doing for your local development and also deployment.
Development Environment
I read that SilverStripe use Vagrant for development. Is anyone else using Vagrant? Or is Docker now the way to go? What are you personally using as for development?
Deployment
Regarding deployment, we currently use BitBucket as a VCS and would like to look into CI/CD where the setup overhead can be justified for these larger / long term projects. Is anyone else using tools like BitBucket, Gitlab, Github for CI/CD? Really feels like overkill for smaller projects, or has experience proven that it is better to bite the bullet even for smaller projects?
What are your opinions about Deployer? I’m still trying to figure out how in would fit in, and whether it solves any of our problems? For smaller or less frequently updated projects, is it easier just to FTP or is it better to start using something like Deployer?
Would really like to hear what everyone else is doing! Thank you.