At the company I work we use SVN. The SVN repository resides on the local server. When developing we commit the changes to SVN on the local server which transfers the changes via ftp to a testsite remote test server. The whole team uses the same testsite. We use a remote testserver so that we don't have to setup anything on our local machines. If developer A wants to see the changes of developer B on is local machine, he must simply update his working copy.

Most of the time we are very happy with this approach:

  • it's simple
  • svn is nicely integrated in Netbeans

Things that bother us are:

  • the changes are transfered via ftp. When transferring a lot of files this can be quite slow
  • we would like to have a repository "in the cloud" so we can develop not only from our office but from anywhere (and without have to setup a vpn)

Is our workflow possible if we were to use github to host our repository? These things are important to us:

  • we are not going to develop locally, we would still like to use a testsite on a testserver that is shared by the entire team
  • because we do a lot of small changes pushing the changes to the testsite should be very easy
  • we have a lot of small sites so the setup that a developer should do per site should be minimal
  • You can host SVN on an externally facing server (for remote development without a VPN tunnel, or for having the test server pull changes via SVN or Git if you switch to that). Set the SVN server to force HTTPS mode. Unless the code needs to be super secure. – Mufasa Sep 15 '11 at 13:20
  • Whats does github give you on the cloud that Google code subversion doesn't? – maple_shaft Sep 15 '11 at 14:51

Have you tried looking Jenkins (used to be Hudson?)

We had some good experiences, where we set up a local Jenkins, and a remote Jenkins Slave on the external Test server that just updated his local copy of the svn, and compiled everything (ant+javac+stuff), deployed everything, restarted the JBoss instance.

All on the external test server.


We just moved from SVN to Git last month. (We love it btw) Jenkins is a great idea, but you can also do something pretty basic. We set up a git clone on our test/nightly environment and have a cron job pull from source control every so often. The cron script is a simple one line pull from git. Because it's a repository clone, it only pulls updates and we can switch branches to test different things.

We are using a paid, secure github account right now rather than setting up our own secure git server. The price is reasonable, and it's working very well for us.

  • so if you make any changes you have to wait a while to see them on the server? Doesn't that slow you down when developing? – murze Sep 15 '11 at 13:59
  • I also have the script that pulls the code set to run any time I log into the server. So, if I need to do an early code update, I just log in and then do my work. – Amy Anuszewski Sep 15 '11 at 14:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.