Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

IDE setup/Development workflow best practices


Reply


10 Posts   3144 Views

Avatar
Mo

Community Member, 509 Posts

29 March 2011 at 7:00am

Yep :-)

Avatar
Peavers

Community Member, 8 Posts

9 May 2013 at 10:33am

My workflow goes a little something like this:

Tools:
Git & Private Gitlab Server
Compass
PHPStorm (With SS plugin)
Putty
Vmware Workstation

OS:
Windows 8
Debian 7.0

Intro:
I enjoy working on Windows but hate having any sort of stacks installed under windows. I find them hard to manage and I'm just used to using Linux servers for these types of things. I'd love to be able to develop in Linux and completely drop windows but tools I use just don't work well on Linux and I'm not really willing to change my habits just yet. I’ve tried a number of times but just keep coming back to Windows.

Why a Virtual Stack:
I run LAMP stacks in a virtual machine on my workstation for all my developing. I use PHPstorms “upload on save” feature to upload files directly to the stack whenever I save a file. This isn't something I would do with remote servers (or live servers for that matter!) but it works for developing. Its basically abstracting something like WAMP off my computer and putting it into a virtual server. The benefits of this are I can easily copy the complete stack from computer to computer and it brings everything I need to sit down and get right to work. I often reformat my system too, and this makes it easy to make sure my work and setup is all safe and ready to go ASAP.

What’s on the Stack:
I have a base install of the latest debian (7.0 at time of writing) with nothing but open SSH selected during the installation. After that I just install phpmyadmin which pulls down everything needed for a complete LAMP stack, and install git along with ruby and compass (I love sass + compass for CSS). I then use git to take a branch from my master repo (which is what the my current live site is running on) and I’m ready to start work.

Working:
Using PHPstorm I just code away with files being pushed to my stack every time they are saved. Everything is contained within a host-only network setup so I can work with my stacks when I'm offline and on my laptop with ease. I use putty to monitor compass so I can easily see compile errors and problems with my CSS etc.

Pushing to Live:
When I’m happy with the changes I've made and things are working as expected I just need to merge my dev branch back with the master and hooks on my gitlab server send the command to my live web server to pull down the latest changes. I like to keep my live server automated to remove any chance of forgetting files or breaking things.

Closing:
I’m sure there are many better ways of working, and better practises you should follow, but I enjoy my little workflow which gives me complete control over everything. I can take a quick snapshot of my dev stack if I’m going to do something big like try upgrading to the latest SS version, and can revert back in a flash if it all goes belly up.

It works for me.