- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
多年来,我创建并调整了一组NAnt脚本以执行完整的项目构建。主脚本采用一个应用程序端点(例如,一个Web应用程序项目),并从源代码控制中对其进行完整的构建。脚本已预先配置了与构建输出位置,源代码控制地址等有关的必要信息。要点是,您可以提供很少的信息并从头开始构建给定的项目。这满足了我问题的“任意”部分。
过去,我曾在生产几种软件产品(主要是Web应用程序)的公司工作。这种环境非常适合典型的连续集成设置,其中每个产品都有一个集成器。我已经设置了集成商以充当CI构建,也设置了集成商来处理完整的发布候选版本和QA部署。这些集成商使用主构建脚本,因此,集成商本身仅是源代码控制监视和对主NAnt脚本的调用。
我现在在一个创建许多应用程序的开发小组工作。通常,要求开发人员支持其他人最初构建的应用程序。我刚开始时没有构建管理。作为一个业务部门的产品套件(大约六套完整的系统)的4人团队的首席开发人员,我在集团中的职位特别独特。我已经使用主构建脚本实现了CruiseControl.Net,以同时进行CI构建和RC构建。该项目可以在企业产品套件中的固定项目集合中找到。
我已经使用CCNet多年了,因此我完全知道它可以做什么。我将其用于我的产品套件中的所有项目,因此非常感谢它对持续集成领域的贡献。我向我的团队强调,使用官方的RC构建集成商作为主构建器,可以运用于除开发以外的任何位置。这样可以很好地控制CCNet所控制的固定项目集。
但是,还有其他开发人员在构建其他应用程序。其中一些是1开发人员项目,这些项目通常要到项目生命周期才能进入源代码控制(我正在尝试进行其他更改)。这些项目中的许多都是一次性的,一旦部署,就不会有很多生命。尽管如此,仍然需要他们的支持。支持这些功能的一个不可缺少的事实是,如果不对这些项目进行集中的构建管理,则发布到QA并最终进行生产的候选发布版本将留在单独的开发人员机器上进行。当然,这为开发人员构建机器的其他因素提供了零保证,即一切都在源代码控制中。
我一直试图解决的问题是:我可以使用哪种系统对这些任意构建进行集中控制?这绝对不是一个唯一的问题。但是,在我所做的许多有关集中式构建,构建自动化和持续集成的文章中,重点都是固定的项目/产品以及支持对其进行持续开发的任务。在新项目上不断进行开发的企业使用什么类型的流程?他们不使用这些类型的过程吗?
虽然主构建脚本确实存在于构建服务器上,但它们使用起来很笨拙。另外,我更希望将控制台访问权限限制在构建服务器上。因此,需要一些管理系统来简化在中央系统上任意构建的部署。
我意识到我正在寻找的东西可能隐藏在MS Team Build的掩盖下。不幸的是,每当我开始阅读它时,当我开始进入MS营销材料并很快迷失方向时,都会有种流沙的感觉,从来没有真正发现我想要做的事是否可以用它完成。此外,在过去有关Team Foundation Server和Team System的一般性讨论中,许可成本已被视为可能的阻碍。
我热切希望收到解决此问题的任何人的建议。我已经基于我的主“ build-any-project”构建脚本在集中化构建系统上做了一些工作。但是,我所处的还处于起步阶段,其构建目的主要是仅支持我从事的项目类型。此时,缺乏处理许多应用程序类型或Visual Studio可能进行的大量项目/解决方案配置所需的那种支持。
最佳答案
我在中央构建系统中看到的最大问题是,即使拥有世界上最好的意愿,工具也会在团队之间或随着时间的流逝而出现差异。
我喜欢为特定项目设计任何构建系统,例如,它需要签出单个模块。 MyProjectBuildEnvironment,然后以工具中立的方式运行单个脚本,例如在Windows系统上build.bat
只要有可能,只需通过检出MyProjectBuildEnvironmen模块即可运行构建环境使用的所有工具,而不需要机器级别的安装程序。
这两个限制不会妨碍团队在给定时间使用他们喜欢的工具的自由。
然后,中央构建系统可以是一个简单的系统,可以为每个项目检出一个模块,并简单地执行build.bat文件。您可以将其称为元构建系统。
坦白地说,这可能是一个矫kill过正,因为描述每个项目的构建模块名称的简单Wiki就足以允许任何人签出该模块并通过通用的build.bat命令将其启动。
最后要注意的是,开始构建的脚本应始终检查环境,并告诉用户是否缺少任何工具或需要调整任何计算机配置以成功完成构建。
关于.net - 集中/控制.NET项目和解决方案的任意生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53391/
我正在使用 NetBeans 开发 Java 中的 WebService,并使用 gradle 作为依赖管理。 我找到了this article关于使用 gradle 开发 Web 项目。它使用 Gr
我正在将旧项目从 ant 迁移到 gradle(以使用其依赖项管理和构建功能),并且在生成 时遇到问题>eclipse 项目。今天的大问题是因为该项目有一些子项目被拆分成 war 和 jar 包部署到
我已经为这个错误苦苦挣扎了很长时间。如果有帮助的话,我会提供一些问题的快照。请指导我该怎么办????在我看来,它看起来一团糟。 *** glibc detected *** /home/shivam/
我在 Ubuntu 12.10 上运行 NetBeans 7.3。我正在学习 Java Web 开发类(class),因此我有一个名为 jsage8 的项目,其中包含我为该类(class)所做的工作。
我想知道 Codeplex、GitHub 等中是否有任何突出的项目是 C# 和 ASP.NET,甚至只是 C# API 与功能测试 (NUnit) 和模拟(RhinoMocks、NMock 等)。 重
我创建了一个 Maven 项目,包装类型为“jar”,名为“Y”我已经完成了“Maven 安装”,并且可以在我的本地存储库中找到它.. 然后,我创建了另一个项目,包装类型为“war”,称为“X”。在这
我一直在关注the instructions用于将 facebook SDK 集成到我的应用程序中。除了“helloFacebookSample”之外,我已经成功地编译并运行了所有给定的示例应用程序。
我想知道,为什么我们(Java 社区)需要 Apache Harmony 项目,而已经有了 OpenJDK 项目。两者不是都是在开源许可下发布的吗? 最佳答案 事实恰恰相反。 Harmony 的成立是
我正在尝试使用 Jsoup HTML Parser 从网站获取缩略图 URL我需要提取所有以 60x60.jpg(或 png)结尾的 URL(所有缩略图 URL 都以此 URL 结尾) 问题是我让它在
我无法构建 gradle 项目,即使我编辑 gradle 属性,我也会收到以下错误: Error:(22, 1) A problem occurred evaluating root project
我有这个代码: var NToDel:NSArray = [] var addInNToDelArray = "Test1 \ Test2" 如何在 NToDel:NSArray 中添加 addInN
如何在单击显示更多(按钮)后将主题列表限制为 5 个(项目)。 还有 3(项目),依此类推到列表末尾,然后它会显示显示更少(按钮)。 例如:在 Udemy 过滤器选项中,当您点击查看更多按钮时,它仅显
如何将现有的 Flutter 项目导入为 gradle 项目? “导入项目”向导要求 Gradle 主路径。 我有 gradle,安装在我的系统中。但是这里需要设置什么(哪条路径)。 这是我正在尝试的
我有一个关于 Bitbucket 的项目。只有源被提交。为了将项目检索到新机器上,我在 IntelliJ 中使用了 Version Control > Checkout from Ve
所以,我想更改我公司的一个项目,以使用一些与 IDE 无关的设置。我在使用 Tomcat 设置 Java 应用程序方面有非常少的经验(我几乎不记得它是如何工作的)。 因此,为了帮助制作独立于 IDE
我有 2 个独立的项目,一个在 Cocos2dx v3.6 中,一个在 Swift 中。我想从 Swift 项目开始游戏。我该怎么做? 我已经将整个 cocos2dx 项目复制到我的 Swift 项目
Cordova 绝对是新手。这些是我完成的步骤: checkout 现有项目 运行cordova build ios 以上生成此构建错误: (node:10242) UnhandledPromiseR
我正在使用 JQuery 隐藏/显示 li。我的要求是,当我点击任何 li 时,它应该显示但隐藏所有其他 li 项目。当我将鼠标悬停在文本上时 'show all list item but don
我想将我所有的java 项目(223 个项目)迁移到gradle 项目。我正在使用由 SpringSource STS 团队开发的 Gradle Eclipse 插件。 目前,我所有的 java 项目
我下载this Eclipse Luna ,对于 Java EE 开发人员,如描述中所见,它支持 Web 应用程序。我找不到 file -> new -> other -> web projects
我是一名优秀的程序员,十分优秀!