Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I\'m considering the reengineering of my web development ecosystem. We use Git v

ID: 650918 • Letter: I

Question

I'm considering the reengineering of my web development ecosystem. We use Git very successfully to deploy new changes to our Production, Staging, and Development servers. Traditionally, I've always had a copy of Apache on my local machine - in the interest of keeping my local machine as lean as possible, I'm considering running Apache in a non-local VM and syncing changes somehow.

My initial thought was to run something like rsync and cron (Mac development system) to monitor the directory for file changes and then sync them up. I have been tempted to use a separate branch in Git and writing a hook to have the Apache server pull in the changes, but versioning all of my changes may be unproductive, particularly on very experimental additions.

My question is, is there something I'm not considering in this workflow? This particular project requires ColdFusion, so am I going to realize significant benefits over not having Apache/CFIDE locally?

Explanation / Answer

It does not really matter if your server is local or on a separate machine; what matters is if you can test any changes to your code fast enough. For example, you should not have to wait not even a minute for a cron job to pull your code changes to the server. And typically you should test any changes to your code first, and then check them into you repository.

So for a separate machine, what you need is a quick possibility to transfer your code changes from your local machine to the dev server "on-demand". A simple shell script, logging on to the server, running some commands there, which you can run seamlessly from your local box should do this. How this script has to look like depends mostly on your network environment, perhaps you need only some ftpcommands, but since you mentioned rsync, I guess you have a shared file system available.

If this gets "fast enough" for you you will have to test by yourself in your environment. And perhaps you will have to do some optimizing (network speed, for example, may be a factor if you have a large code base with several ten thousands of files).

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote