> That's a surprise -- though it of course depends on what you're doing. > I don't have many CF projects that don't have at least *some* java in > them (usually the credit card API) so using Ant seems pretty natural.
Credit cards? Ick. That stuff sucks. ;) No unhappiness from me that I have touched CC processing in like 4 years. But anyway. We build the Java pieces separately. So Java piece X gets built into a JAR, and then that JAR is included in the CF apps as needed. Keeps the dependancies flowing downward, and isolates the CF apps from any changes to the Java apps until they're ready to deal with them. > I do a lot with using filter expansion to properly configure > differences between deployments (e.g. changing the fusebox <mode> > parameter from development to production as appropriate on the > specific server). We don't use FB4 either. And we maintain our different config stuff in-code, rather than in external ant properties files, so the app itself takes care of pulling the right config stuff out based on where it's at. Most of the reason is so that we can go right from staging to production with a minimum of steps. More steps == more room for error, especially if you're CHANGING THE CODE!!!. ;) If we did use FB4, we'd switch the mode the same way, in-code. <cfset application.fusebox.mode = "production" /> is just as effective as changing the XML file, as long as it happens while no request is actively executing the loader. > Wouldn't you have to start the testing process again after any change > in the branch being tested? A change in the staging branch during > integration testing *should* restart the unit tests for sure, > functional if they are automated and reasonable in length. Of course. But at that point we're not testing a branch, we're testing a snapshot. So even if the branch is updated, we don't want the updates until the next test/release cycle. I abbreviated my steps, but a "test phase" usually means a tag, testing and changes, and another tag. Then a diff between the tags, and anything that changed better have a damn good explaination, and anything non-trivial will require a new cycle to commence, good explaination or not. Continuous > integration tools are only going to redeploy code that's changed in > the repository being monitored -- so a change in the development > branch does not necessarily redeploy the staging branch. Of course a > *merge* from dev into staging would, but you'd expect that. Yes, expected, and intentionally prevented from interfering. ;) By doing it this way, developer X can merge his private branch into stage, switch his working copy to the stage branch, and then make sure there aren't any issues now that he's back with everyone else. And he can do it during a testing period, without interfering with the test. You can make an argument that that's a stupid way to do it for sure, but having that central point of control sure makes my life easier. > I'm thrilled we're (the CF community) at the point where more of the > discussions are about how to implement the tools to improve process > than "why it's important to use source control". Amen to that. It's amazing the change that's happened in the past couple years. Not that that question never comes up, but there's so much more behind it now. cheers, barneyb -- Barney Boisvert [EMAIL PROTECTED] 360.319.6145 http://www.barneyb.com/ Got Gmail? I have 100 invites. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:218381 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

