Managing code updates

How do people managing updating multiple web sites when the code is updated?

I manage a couple of websites. They all use the same code. Right now to manage updating each site with new code I use Filezilla to FTP the new files and use the Filezilla switch to only copy the new file if the file date or size is different. I am finding this process quite onerous and I am guessing that there must be an easier way to manage this.

I have created a script that updates the database whenever its format has changed.

Thank you for any information on this that you can provide.
WestCoast_BCAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Paul MacDonaldDirector, Information SystemsCommented:
What, specifically, do you find onerous about your process?  

You might be able to create a default file structure locally, and use scripts/Robocopy/Filezilla to push local-copy changes to the remote copies, but at the end of the day, you're going to have to copy those files around.
0
WestCoast_BCAuthor Commented:
I was hoping that I could use some sort of install tool and create something that is automatic. I see sites that have automatic checking for new versions of their software. It is now clear to me how they do this.
0
Paul MacDonaldDirector, Information SystemsCommented:
So rather than push updates, you want the sites to be able to pull updates?
0
CompTIA Security+

Learn the essential functions of CompTIA Security+, which establishes the core knowledge required of any cybersecurity role and leads professionals into intermediate-level cybersecurity jobs.

WestCoast_BCAuthor Commented:
Yes, I want the sites to be able to pull updates.
0
Paul MacDonaldDirector, Information SystemsCommented:
This seems do-able as well, depending on the language you're using server-side.  Just write some code to copy files from a pre-established server whenever a button is pushed or some other criteria is met.  Ostensibly this would be done via FTP, but your language of choice may allow copying files across the network as a native feature.
0
Eoin OSullivanConsultantCommented:
There are LOTS of different ways of doing it depending on your OS, WebServer etc.

You can use version control tools like SVN, GIT etc. which allow you to track changes on your development system and run server-side commands to update your multiple websites to the latest build over ssh.  If you can run git or svn on your webserver using ssh then this is a great option.

You can use a sync type tool to scan your local copy and compare with the remote and only upload the difference - something like rsync .. which you can automate (easier than filezilla).  This requires ssh access but no server-side software or tools

Finally you could use something like diff ... where you keep a folder on your PC that is a copy of what is on your remote webservers .. and your new development copy ... if you run the diff command and compare the two it can generate a list of what needs to be copied from local to remote (better than having to scan/compare over FTP)
 diff --quiet --recurse -unidirectional-new-file OLDDIR NEWDIR | \
  sed "s/^.* and \(.*\) differ/\1/"

Open in new window

0
WestCoast_BCAuthor Commented:
Thank you for all of your help.  My sites are hosted on an shared Apache server running Coldfusion. It is hosted by Hostek.
0
Eoin OSullivanConsultantCommented:
Check with Hostek to see if they offer SSH access and if they offer any version control systems such as git or svn?  It is rare for web hosting to have VCS support but SSH is more common
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Web Browsers

From novice to tech pro — start learning today.