Development Environment for Sitefinity 4.2
Hi. My team is new to Sitefinity development. We have set up a website app in Sitefinity 4.2 and we are usingTFS 2010 SP2 for souce code control, and configured everything successfully. I have set up a build controller against my dev teams project collection and we have started coding in our Sitefinity project against Work Items from this TFS collection.
The team is small, 3 developers so our TFS configuration is basic, built for a small dev team. We are writing custom modules and web controls for this app in C#. Each developer has been getting the project out of TFS, working locally to develop their custom modules and controls, and now have reached the stage where we need to deploy this code, first to our shared development environment, and then we need to move it to the Staging (test) environment. Because Sitefinity content is stored in SQL server, I have seen how it will write many tables in the backend in response to, for example, creating pages in the front end, and how it writes rows in several tables for each page or content item.
So.....
Is it possible to use the TFS build controller to make builds of our Sitefinity project and deploy out through our enviroments? Is there any way of combining SQL server changes - these would be schema and data changes and we would want to deploy differential changes only, not over-writing the destination SQL db if possible, so we could give our business users access to the staging environment to begin adding content there, and at the same time push new changes from the dev environment.
How should I do this? I tried queuing a TFS build against the Sitefinity project, and it errored saying there was no .sln file in the build folder, and complained about a missing Binaries directory, again in the build folder. In any case, this TFS build would only be managing the code and asp pages, I haven't even tried building the SQL changes.
How do other people manage their different environments? (dev/staging/live). I would really like to get TFS deployment working with Sitefinity
I'm also interested in hearing how other organizations are dealing with the dev\stage\production environments. Ideally I would like to have the production content be able to be merged down manually to the other environments so that we can run user control development and deployments up the chain as they pass qa while keeping the content in sync.
Also, what is the best practice for custom control development with this scenario? Development directly within the sitefinity project, or in standalone projects with deployment of output binary and front end ascx files? I am interested in what other companies are doing.
Jeff B.
We are now fully into the development stage of this project, and we have TFS up and running. We are doing a weekly build in the dev environment, and developers are restoring the SQL backup from there to their local machines after the build. At the same time they get the latest version of the SiteFinityWebApp project and related projects from TFS.
Because this is a brownfield development, we are able to get away with this approach, although care and attention must be taken with how files such as config files and licence files are managed. We are initialising content into the dev (build) environment and it is flowing through staging and (planned) live using SQL backups and normal Sitefinity deployment.
I actually had this question answered more fully in the TFS forums here
http://social.msdn.microsoft.com/Forums/lt-LT/tfsbuild/thread/3191b5f4-0882-40b9-8f5e-9dac564e258a
and I recommend following some of the links in there, as it seems it IS possible to run a TFS automated build with SQL Server fully integrated, however in the case of a Sitefinity project I feel you would need a custom script to preserve content, and the scope of our project with tight deadlines and an even tighter budget has prohibited this approach for Phase 1. I appreciate this doesn't strictly answer your question though.
Hello. I'm running automated Build in TFS for Sitefinity 4.2 application and get the following error
AzureWebRole.cs (1): The type or namespace name 'Cloud' does not exist in the namespace 'Telerik.Sitefinity' (are you missing an assembly reference?)
AzureWebRole.cs (12): The type or namespace name 'AzureWebRoleBase' could not be found (are you missing a using directive or an assembly reference?)
<
Reference
Include
=
"$(BuildProjectFolderPath)\Carebook.Web\bin\"
/>
Hello,
I am also facing an issue of same type with Sitefinity 5.0 but not able to find any solution. In my case I am not using TFS.
Any pointer on this will be highly appreciable. My issue is captured in more detail in the following thread:-
http://www.sitefinity.com/devnet/forums/sitefinity/developing-with-sitefinity/how-we-can-sync-database-sql-server-within-multiple-developers.aspx
Thanks in advance
Hello,
I am also facing an issue of same type with Sitefinity 5.0 but not able to find any solution. In my case I am not using TFS.
Any pointer on this will be highly appreciable. My issue is captured in more detail in the following thread:-
http://www.sitefinity.com/devnet/forums/sitefinity/developing-with-sitefinity/how-we-can-sync-database-sql-server-within-multiple-developers.aspx
Thanks in advance