This is the rudimentary way we currently work in our team (4 people developing). I'm putting pressure on them to change it, but I need a plan and I need to convince them. Our current workflow:
And this is what I think we should accomplish:
As you see, there's currently one GIT repo: it's in our development server. But we all directly work on it since it's mounted as a network drive and the project in our IDE's is based on it.
Once tested we commit on it, and use FTP to upload these committed files to the production server. We never use git push, and there's only one branch (master). It's useless to have more working this way with several users on the same repo.
A very primitive way to do this I know. GIT is only serving us as a history. It's obviously becoming a nightmare of "hey don't touch this, I'm on it now" and things like that.
So my main question is, what are the steps we should take to achieve the second diagram (or whatever else you'd rather suggest)? One thing to note is that our constant daily workflow is to receive tickets/orders, change and deploy.
My first idea would be to clone the development repo in every local machine. Problems that could arise:
-
The development repo has a working tree currently (the one on which we all are working on).
-
Since we work on web development, we need to constantly test every little change. So we would end up needing to continually push to the development server to test any change and see how it works (I think the only solution for this would be to use Vagrant and a virtual machine on every local machine).
What should we change in our development server's repo? How should we set up the repo in the production server, and link it to the development one?
Finally, having in mind the workflow I explained, what would be the best approach regarding branches?
I've read it would be better to always have a production/build branch checked out in the production server, and when the testing on the development branch in the dev server is approved, merge it to the production/buld one, then pull from the production server.
Aucun commentaire:
Enregistrer un commentaire