我在服务器上设置了 CruiseControl.NET。我让一切工作正常。一切都意味着,从 SVN 中提取代码,构建它,在成功构建后,使用项目触发器启动项目设置以将代码部署到 DEV 环境。我添加了一些内部安全设置,主要是用户组。我正在使用 LDAP 安全性。当我添加安全功能时,我到 DEV 服务器的自动部署停止工作。我可以强制构建项目以使其部署,但是当项目 #1 成功构建时,当部署项目的触发器启动时,我收到以下错误(出于安全目的,我将项目名称替换为 PROJECT):
2010-07-20 13:28:19,354 [PROJECT:DEBUG] 从服务器检索 ProjectStatus:tcp://localhost:21234/CruiseManager.rem
2010-07-20 13:28:19,355 [PROJECT:ERROR] 例外:项目CCNet 服务器上不存在“项目”。ThoughtWorks.CruiseControl.Remote.NoSuchProjectException:CCNet 服务器上不存在项目“PROJECT”。
在 ThoughtWorks.CruiseControl.Core.Triggers.ProjectTrigger.GetCurrentProjectStatus()
在 ThoughtWorks.CruiseControl.Core.Triggers.ProjectTrigger.Fire()
在 ThoughtWorks.CruiseControl.Core.Triggers.MultipleTrigger.Fire()
在 ThoughtWorks.CruiseControl.Core.ProjectIntegrator .PollTriggers()
在 ThoughtWorks.CruiseControl.Core.ProjectIntegrator.Integrate()
在 ThoughtWorks.CruiseControl.Core.ProjectIntegrator.Run()
我为 CruiseControl 设置了一个活动目录帐户,并且该服务在该用户帐户(具有管理员权限)下运行。通过将用户添加到 CruiseControl 配置的内部设置部分中的“管理员”组,我已授予 CruiseControl 用户对所有项目的完全访问权限。
关于如何使 CruiseControl 可以访问项目以便它可以看到执行自动部署的任何想法?