Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CruiseControl.Net on Windows Server 2003 x64

I'm having an issue with CruiseControl.net where the web dashboard just won't work in IIS. I have tried switching ASP.Net between 64 and 32 bit modes and reinstalling cruise control, but nothing seems to work. Has anyone else had issues with CruiseControl.Net on 64 bit platforms?

Cheers, Jamie

[Edit]

Thought I should clarify, I am getting a 404 error when I try access the website. I am using the correct address because it asks for authentication. The .aspx handler is working because I don't see the default.aspx page from the ccnet directory.

[Edit2]

I am using the default web.config that comes with ccnet, but here it is:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
    <!-- Change this if (for example) you want to keep your dashboard config file under source control -->
    <add key="DashboardConfigLocation" value="dashboard.config" />
</appSettings>

<system.web>
    <httpHandlers>
        <!-- Yes, we are overriding .aspx - don't delete this! We are using .aspx since we know it is already bound to ASP.NET. In future we might use a 
            different extension so that people can add their own ASP.NET pages if they want to, but we should make sure in that case to change how 
            URLs are created -->
        <add verb="*" path="*.aspx" type="ThoughtWorks.CruiseControl.WebDashboard.MVC.ASPNET.HttpHandler,ThoughtWorks.CruiseControl.WebDashboard"/>
        <add verb="*" path="*.xml" type="ThoughtWorks.CruiseControl.WebDashboard.MVC.ASPNET.HttpHandler,ThoughtWorks.CruiseControl.WebDashboard"/>
    </httpHandlers>
    <compilation defaultLanguage="c#" debug="true" />
    <customErrors mode="RemoteOnly" />
    <authentication mode="Windows" />
    <!--  APPLICATION-LEVEL TRACE LOGGING
        Application-level tracing enables trace log output for every page within an application. 
        Set trace enabled="true" to enable application trace logging.  If pageOutput="true", the
        trace information will be displayed at the bottom of each page.  Otherwise, you can view the 
        application trace log by browsing the "trace.axd" page from your web application
        root. 
    -->
    <trace
        enabled="false"
        requestLimit="10"
        pageOutput="true"
        traceMode="SortByTime"
        localOnly="true"
    />
    <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;user id=sa;password="
        cookieless="false" timeout="20" />
    <globalization requestEncoding="utf-8" responseEncoding="utf-8" />
</system.web>

like image 358
Jamie Penney Avatar asked Dec 17 '25 16:12

Jamie Penney


2 Answers

It seems I needed to enable Web Service Extensions for ASP.Net. I'm still not getting an ASP.Net tab in the cruise control website properties, but it is working.


C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727> or C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727> for 64 bit

Type aspnet_regiis.exe – i

ASP.NET will register itself and show up in Web Service Extensions

like image 152
Jamie Penney Avatar answered Dec 20 '25 10:12

Jamie Penney


Clarify a bit, does the web-dashboard function incorrectly? Does it not show up at all?

The webdashboard uses Nvelocity, not ASP.NET WebForms, so you have to register a custom HTTPHandler in the Web.config for it to work.

<add verb="*" path="*.aspx" type="ThoughtWorks.CruiseControl.WebDashboard.MVC.ASPNET.HttpHandler,ThoughtWorks.CruiseControl.WebDashboard"/>

Post up your web.config.

like image 42
FlySwat Avatar answered Dec 20 '25 09:12

FlySwat



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!