Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 308
  • Last Modified:

Setting up staging and versioning?

hi guys,

we're a start up company and have hosted our servers in the Amazon cloud. I am working on the infrastructure. The site is mainly coded in php/html and javascript. And this is all on an EC2 server (i.e. a Linux server)

We only have one web server and a development server (windows 2008) on this cloud.

The developers need a staging environment and a versioning system.

I'm new to creating such an environment. Are you able to guide me or be able to give me some tips, but in lamen terms, as to what the best way to proceed with setting up with a staging environment would be and what tools you would use for versioning?

How would you go about setting up the staging? Would it just be another linux server that is a duplicate of the live one, but with a hidden public IP so it can be tested?

And about the versioning? I'm utterly new to that, never done anything with that.

Any ideas, would be fantastic.

Thank you
Yashy
0
Yashy
Asked:
Yashy
  • 2
1 Solution
 
Ray PaseurCommented:
For version control: Get a bitbucket account and create a repository.  You will go through a lot of steps, learning Git and learning the terms like clone, fork, pull, etc.  Don't expect to master it in a day, but with a week of practice you will know it well.  There is also this article by one of our colleagues at EE that explains a lot of the concepts and terminology:
http://www.experts-exchange.com/Software/Development/Management_Debug/Version_Control_CVS/A_12235-Git-101.html

For staging and testing you might find that a separate subdomain is a good way to go.  For example, you could have site.com and test.site.com and stage.site.com.  Each of these instances has its own purpose.  The host can help you set up subdomains.  On my web server, my subdomains have different directories inside the public_html folder.

The QC process from test to stage to full deployment will undoubtedly require several unit and integration tests.  To the extent that you can automate these tests, do so.  It will pay you big dividends and create an environment of continuous integration, allowing for many small steps in the development cycle, instead of one giant leap.

You will also want to automate a "build" process that rolls the latest versions from the developers' repositories into the test domain or the stage domain.  This process will replace everything with the goal being that after a stable test or stage domain is loaded with code and the data model, the automated unit and integration tests can be run immediately to isolate any issues.
0
 
Ray PaseurCommented:
Thanks for the points and good luck with your project, ~Ray
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now