开发者

Build Server - install external control libraries (DevExpress) on build server

what's the right way?

We have one build server for our projects. We have different projects, wich reference different versions of DevExpress.

  1. Should we install every DevExpress Version on the build server or

  2. should every project have its own folder with DevExpress assemblies.

  3. Exists an other possible way?

In my opinion:

Advantage 1: It is easier for every developer to maintain his local copy of the project. Disadvantage 1: DevExpress version hell on build sever because every new release must be installed.

Advantage 2: Every project could be builded without prerequisite. Disadvantage 2: Every developer must manually put his dlls in a separate Libs folder. If you have dragged a DevExpress control fr开发者_如何学JAVAom the toolbox, you must reorganize your references for this dlls.


I would suggest that you install our installations on the Build server. There will not be a DLL hell on your machine if you install only installation. This will guarantee, that your project will be built using a licensed version of our controls and thus no nag screens in a ready built application. This is what we usually suggest when our customers ask such questions in the support center...


Best solution and hassle free with build servers is to have a shared folder in the source control where you keep the devexpress assemblies or different folders if you use different devexpress versions in different projects and reference those assemblies in the projects. In addition to the devexpress dlls add also App_Licenses.dll to that folder and reference it in all projects that use devexpress assemblies. This when a new version of devexpress is out you need just to update those DLLs instead of installing every time a new devexpress version and this way you can also revert to a previous version in case of a blocker bug or even run different devexpress ver on the same machine.

This solution works perfect with Hudson build integration server and svn.

If you want to make things even easier at new devexpress updates and do not want to run each time project converter to update the version number in the references exclude from you references ', Version=10.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a' so instead of:

<%@ Register TagPrefix="dxe" Namespace="DevExpress.Web.ASPxEditors" Assembly="DevExpress.Web.ASPxEditors.v10.2, Version=10.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" %>

your ref would look like this:

<%@ Register TagPrefix="dxe" Namespace="DevExpress.Web.ASPxEditors" Assembly="DevExpress.Web.ASPxEditors.v10.2" %>

this way you'll need to run the project converter quite rarely when the assembly name changes through major version changes to eg. 11.1


Best solution is not to have to install the full product on your build servers. Instead you can just get it 'licensed' on the server.

Start the installer on your build machine, login to the installer, when your list of products come up, exit the installer. Now your builds will be authorized!​

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜