I was reading Glyn Jackson’s insightful review of ColdFusion Builder and it got me thinking.
It’s been years since I’ve worked in a shop where we used FTP to deploy files. I always felt that manual FTP was the worst possible way to move files around (this was before I discovered Ant). I ended up moving files around with SVN (which I still do today but Ant is the middle man).
I also never used Dreamweaver. I went straight from Homesite to CFEclipse.
Glyn’s post got me thinking however. Does Dreamweaver’s ‘site’ feature force you into FTP? Do people open Dreamweaver, assume the ‘site’ feature is the only option and follow that path?
I’m seeing a lot of the same conversations resurrected with the release of ColdFusion Builder as I did when CFEclipse first appeared. People struggling with Eclipse’s “project” concept. And the fact that FTP may not be the only option.
Great post. After Glyn Jackson’s, I was thinking it was extreme to have to change a deployment process because of an IDE switch. Now after reading your post, I am thinking the deployment method should be decoupled from the IDE.
I guess another question would be… How ofter do you evaluate your processes and look for improvements?
Glad I got you thinking!
I think an IDE can have an impact on the development process, yes. How you control files, versioning etc is dependence on the tools you use. But an IDE should not be the deciding factor in your whole process that’s just ignorant.
You get a process that works for you, tried and tested over time. We use versioning but leave the live server FTP because at the moment it works well for our in house process.
FTP is still a part of our system just not a whole part and I still need it if I was to use CF Builder over DW
You can automate your FTP with Ant :)
I think the server setup you have can determine the deployment method. A basic shared hosting setup is going to have one way (by default) to get files from your workstation to the server: FTP.
If you have never used version control, then learning how to get a repository set up does require some learning.
To be honest, I’ve never worked in a CF Shop where we used FTP. We always just use mounted drives/SMB to transfer the files around. Of course, that’s always been in a homogeneous Windows environment, but even in blended Mac/Linux/Windows environments, Samba or NFS allows for the same functionality.
we have a change management department. Getting code to our development server is simple using either webdav or SVN.
Getting it to test/staging and then prod is the most painful thing in the world
I think it’s inappropriate to be using a code editing tool to be deploying code. Generally when one comes to be deploying code, then it’s being shifted from a dev environment (the only place one should ever be editing code) to a QA, staging, or live environment.
One definitely does NOT want to be using a tool that is specific to changing code to be having anything to do with environments other than dev environments, quite simply because it’s kind of suggesting that “editing code” on the server one is deploying to is part and parcel of the practice. It’s not.
Code deployment should definitely be completely decoupled from the development environment, IMO.
We enforce a specific, decoupled, mostly manual process when “promoting” any code from “dev” to “not dev”. The reason for this is to make the person doing it stop and think about what they’re doing, treat the process with respect, and also know that it’s “kind of” a one way process.
I guess we do all our development locally (on our own workstationns), and we don’t put it on a server of any description until it’s mostly out of the developer’s hands (if poss we get someone other than the developer to deploy it). I would never have an RDS or FTP connection set up in my IDE. It just seems “wrong”.
(obviously all of the above is IMO, and I’m not suggesting everyone should automatically agree with me. I’m just sayin’ how it is ;-)
–
Adam