Question

Hello fellow Programmers,

I am still a relatively new programmer and have recently gotten my first on-campus programming position. I am the sole dev responsible for 8 domains as well as 3 small sized PHP web apps.

The campus has its web environment divided into staging and live servers -- we develop on the staging via SFTP and then push the updates to the live server through a web GUI.

I use Sublime Text 2 and the Sublime SFTP plugin currently for all my dev work (its my preferred editor). If I am just making an edit to a page I'll open that individual file via the ftp browser. If I am working on the PHP web app projects, I have the app directory mapped to a local folder so that when I save locally the file is auto-uploaded through Sublime SFTP.

I feel like this workflow is slow and sub-optimal. How can I improve my workflow for working with remote content? I'd love to set up a local environment on my machine as that would eliminate the constant SFTP upload/download, but as I said there are many sites and the space required for a local copy of the entire domain would be quite large and complex; not to mention keeping it updated with whatever the latest on the staging server is would be a nightmare.

Anyone know how I can improve my general web dev workflow from what I've described? I'd really like to cut out constantly editing over FTP but I'm not sure where to start other than ripping the entire directory and dumping it into XAMP.

Was it helpful?

Solution

Are you using source code control? If not, you should. I suggest using Git, for example hosted on Github.

For a simple setup like this you don't need to use any special deployment tools; you can also use Git for deployment.

Developing directly on the staging server is not a great idea. Try to set up a development environment environment on your laptop.

You can push from your development machine to Github. Then then on either staging or the live server you can connect via ssh and pull from Github.

This allows you you to use all the power of Git to create branches and tags and to rollback to an earlier version if you make a mistake.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top