I'm trying to come up with a solution that would help us alleviate constant issues within our company.
We have dozens of websites that are not very consistent, meaning their file structures differ and require different PHP versions(5.3, 7.0, and 7.4).
When we need to make some changes to a project, we usually modify files that are stored on our dev server(Windows) where Apache, MySQL, and PHP are running. Our projects are then available on http://{PROJECT_NAME}.example.com.
The pros are that all projects are served by the dev server, and developers don't need to waste time on installing and configuring Apache, MySQL, and different versions of PHP on their machines. If something needs to be modified, they simply make the necessary changes directly over LAN, and can immediately see what changes they've made.
The cons are that it's very difficult to keep track of changes, especially when multiple people are involved. When we work on an old project for a few weeks or months, there are so many changes across many files and it's very easy to forget to upload something. Some of our developers also tend to download files locally to their computers, but then forget to upload the changed files to our dev server and instead, in a hurry, upload them directly to the prod server, which then leads to complete madness during synchronization before uploading the files from the dev server to the prod server.
Currently, we have two prod servers(Linux and Windows) and transfer files via FTP.
I would like to set up a git server, but I haven't figured out a way to overcome these issues:
- Some of our projects are quite large and have a lot of data (user files) 20GB+ (.gitignore)
- How to deal with different PHP versions and their configurations? (custom installations and configurations or docker)
- Keeping the workflow as simple as possible when making minor changes e.g. replacing a logo, changing the address, and etc.
- Our clients should still be able to access the dev server and have a look at the project, which is in progress before everything is pushed to the master branch
source https://stackoverflow.com/questions/70570785/how-to-improve-our-current-dev-and-prod-workflow-using-git
Comments
Post a Comment