We have had problems when trying to upgrade macros/datatypes through the package system (using 4.0.3), so I would suggest doing some POC's to make sure that the items update as you intend, before settling on using the packager.
Nope, most of the Umbraco API relies on the HttpContext. I've investigated in the past how to do packaging from CI and to do it you need to write your own packaging engine.
Interesting. I think the deployment of CMS changes (any cms) is the same as deployment of database changes. There is no easy way.
For the deployment of database changes you can use tools from Red-Gate (or similar) to make the process a bit more easy, but it will always be a manual process. Maybe we will see a tool in the future that can help you with the deployment of CMS changes, but I don't think it will ever be part of a Continuous Integration process
Is CruiseControl the CI system of choice for Umbraco developers? I have recently begun trying to implement a CI system in our agency and have had mixed levels of success with using Jenkins (formerly Hudson). Some aspects are working extremely well - I've had great success combining this Umbraco package http://our.umbraco.org/projects/website-utilities/sitemapxml with a selenium script which runs a smoketest on every page in the site while searching for various errors and then compiling a report, ad nauseum.
I am persevering with Jenkins due to the huge number of plugins available, high market share and it's free but am I just wasting my time? Has anyone else had experience with combining Umbraco and Jenkins?
This is something we've been working on a lot. We haven't perfected our process yet, but we've been using TeamCity in combination with an umbraco package called usync http://our.umbraco.org/projects/developer-tools/usync. We use usync to deploy doc types and data types, but you can deploy Templates and such as well if you feel comfortable.
Umbraco and Continuous Integration
Hi,
I am starting a new project and we are using Scrum and Continuous Integration, so we want to deploy changes automatically between environments.
Is it possible to do that with umbraco?
Could we replicate all templates, document types and pages from one environment to other using some script?
Any Ideas?
Thanks a lot!
Jorge
Here's how we do it at TheFarm: http://www.farmcode.org/post/2009/10/02/2-Click-ASPNET-Web-Application-Deployment-with-MSBuild.aspx
You still need to manually migrate CMS content, but you can use the package system to do that.
Thanks for your answer!
Two more questions:
1. Do packages work well with upgrades? Or do I need to uninstall the previous version?
2. Is there any way to create a package automatically? (without the user interface)
Thanks!
Jorge
Upgrades do work well with the packager but I tend to shy away from upgrade packages unless I'm only upgrading what was in the previous package.
Document types will add new properties (deleted ones wont be removed), I'm pretty sure macros, data types, templates and xslt's also replace properly.
Dictionary items can be tricky from my experience and membership isn't supported.
We have had problems when trying to upgrade macros/datatypes through the package system (using 4.0.3), so I would suggest doing some POC's to make sure that the items update as you intend, before settling on using the packager.
Thanks
Is there any way to do it automatically?
Like using powershell and calling some Umbraco API?
Thanks
Jorge
Nope, most of the Umbraco API relies on the HttpContext. I've investigated in the past how to do packaging from CI and to do it you need to write your own packaging engine.
Jorge you might find this post interesting our.umbraco.org/forum/core/general/3619-Source-control-and-multiple-developers
No answers as yet but we are looking into source control and automated releases. Any ideas gratefully received :)
Hi,
Interesting. I think the deployment of CMS changes (any cms) is the same as deployment of database changes. There is no easy way.
For the deployment of database changes you can use tools from Red-Gate (or similar) to make the process a bit more easy, but it will always be a manual process. Maybe we will see a tool in the future that can help you with the deployment of CMS changes, but I don't think it will ever be part of a Continuous Integration process
Cheers,
Richard
Is CruiseControl the CI system of choice for Umbraco developers? I have recently begun trying to implement a CI system in our agency and have had mixed levels of success with using Jenkins (formerly Hudson). Some aspects are working extremely well - I've had great success combining this Umbraco package http://our.umbraco.org/projects/website-utilities/sitemapxml with a selenium script which runs a smoketest on every page in the site while searching for various errors and then compiling a report, ad nauseum.
I am persevering with Jenkins due to the huge number of plugins available, high market share and it's free but am I just wasting my time? Has anyone else had experience with combining Umbraco and Jenkins?
This is something we've been working on a lot. We haven't perfected our process yet, but we've been using TeamCity in combination with an umbraco package called usync http://our.umbraco.org/projects/developer-tools/usync. We use usync to deploy doc types and data types, but you can deploy Templates and such as well if you feel comfortable.
is working on a reply...