您如何管理项目生命周期? [关闭]

2024-06-19

您如何管理项目生命周期?

例如:您从模板开始吗?您是否使用 SVN 等版本控制作为权威来源?您是否归档项目?如果归档,何时归档以及如何归档?当项目恢复(工作恢复)时,如何处理?您是否使用自动化脚本来执行创建 IIS 站点、数据库、存档、启动等操作?

特别令人感兴趣的是对处于不同开发阶段的许多项目的管理。


发展:我们不从模板开始,因为世界变化得足够快,使得模板维护成为一项全职工作。我们确实鼓励每个人使用相同的 IDE (Eclipse),以便他们可以在各自的环境中互相帮助。

项目管理:我们正在使用 GForge 来管理我们的项目。 Sourceforge 稍好一些,但 GForge 便宜得多,并且有不同的许可费用模型。 GForge 整合了 CVS、SVN、文档存储、问题跟踪器,并将所有内容完美地集成在一起。这样可以很容易地看到项目所在的位置。开放的问题,以及连接代码更改的封闭问题,一切都是集成的。

版本控制:虽然我们尝试过 SVN,但我们还是改回了 CVS,因为它更符合我们的需求并且工作得很好。

Backups:我们的 GForge 服务器包含我们所有的项目和源代码,在 VMWare EX 服务器上运行。每天都会在虚拟机级别进行备份,如果我们认为出于某种原因需要更频繁的还原点,我们会创建虚拟机快照。

复兴项目:这在我们的业务中很常见。每个项目在 CVS 中都有它的所有库和构建要求。该项目始终有一个最新的开发手册,其中描述了运行开发环境的所有步骤,并且有一章包含所有非默认的需要注意的事项。我们尝试在尽可能默认的环境中构建软件,以便开发人员不必花费数天时间调整他们的设置。

几乎所有项目都是使用 Maven 构建的,这也让我们的开发人员的工作变得轻松。通常恢复项目只需要几个步骤:

  • 下载日食
  • 通过 SSH 连接到 CVS(extssh 内置于 Eclipse 中)
  • 签出项目(默认“签出”选项)
  • 运行“Maven Eclipse”并刷新 Eclipse
  • 在 Eclipse 中运行单元测试以查看一切是否正常。

Builds:我们所有的项目都构建在单独的构建服务器上。每天早上,构建服务器都会进行完整的构建,如果所有单元测试都成功,则会标记 CVS。白天,每小时进行一次构建,当出现故障时,团队会自动收到一封电子邮件。通常我们每个项目使用一个构建服务器,它是一个简单的 luntbuid 服务器(Linux、Tomcat、Luntbuild)。

构建服务器,有时甚至开发人员机器都是虚拟机。这使得恢复项目变得非常容易。从文件服务器获取虚拟机,启动它,然后就可以开始了。

构建服务器创建每日站点,显示单元测试覆盖率统计数据、复杂性测量、CVS 活动和开发人员活动(谁更改了什么以及何时更改)。

我们所有的软件都内置了自建数据库脚本。将配置文件指向数据库,启动软件,它就会计算出需要对数据库本身执行什么操作。这真的很方便,因为构建服务器可以启动软件。无需特殊步骤。我们的客户也很高兴,他们永远不需要担心他们的数据库或升级脚本。

整个项目生命周期都在 GForge 中进行管理、记录和跟踪,并添加了一些用于预算跟踪的外部电子表格,因为这更容易。

无论你是否有集成的项目服务器,我认为拥有一个系统非常重要。这使您能够在项目之间切换开发人员,而不会迷失方向。它节省时间。特别是当客户在 2 或 3 年后回来找您对旧软件进行修改时(是的,这种情况发生了)。

我们使用的所有东西都是开源的(您甚至可以使用 GForge 的开源分支)。重要的不是工具,而是你如何使用它们。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

您如何管理项目生命周期? [关闭] 的相关文章

  • 在 Xcode 9 上切换分支

    我无法找到使用 Xcode 9 切换分支的菜单项 工作副本菜单似乎已经消失 有任何想法吗 Xcode 9 Xcode 8 Press 2 to open the new Source Control Navigator 右键单击master
  • 在数据库中存储差异的最紧凑方式是什么?

    我想实现类似于维基媒体的修订历史的东西 最好使用的 PHP 函数 库 扩展 算法是什么 我希望差异尽可能紧凑 但我很高兴只能显示每个修订版与其同级修订版之间的差异 并且一次只能回滚一个修订版 在某些情况下 只有几个字符可能会发生变化 而在其
  • 如何从 git 存储库中删除作者?

    如果我创建一个 Git 存储库并公开发布它 例如在 GitHub 等上 并且我收到存储库贡献者的请求 无论出于何种原因删除或隐藏他们的名字 有没有一种方法可以轻松做到这一点 基本上 我有这样的请求 可能想将他们的姓名和电子邮件地址替换为 匿
  • 本地分支显示在 GitHub 的“网络”视图上

    我们使用 Git 我们的工作流程由 dev 和 master 分支组成 它们位于 GitHub 和每个开发人员的本地存储库上 不会直接在 master 或 dev 上执行任何工作 而是在本地分支中执行工作 并且仅在 dev 上进行合并 然后
  • 从另一个分支或从 master 创建 Git 分支?

    所以我是 Git 新手 我最近从存储库中提取了主分支的新版本 我创建了一个branch 1 获取某个功能并将其推送到存储库并创建拉取请求 现在我创建了一个新的branch 2 具有另一个功能 但由于我的拉取请求尚未合并 再次拉取 maste
  • 是什么让 DVCS 中的合并变得如此简单?

    我读于乔尔谈软件 http www joelonsoftware com items 2010 03 17 html 通过分布式版本控制 分布式部分实际上不是 最有趣的部分 有趣的是 这些 系统根据变化来思考 而不是 就版本而言 and a
  • 如何在版本控制系统中安全地保存密钥和密码?

    我在版本控制系统中保留了开发和生产服务器的主机名和端口等重要设置 但我知道这是不好的做法保留secrets 如私钥和数据库密码 位于 VCS 存储库中 但密码 就像任何其他设置一样 似乎应该进行版本控制 所以呢is保持密码版本控制的正确方法
  • 执行 bzr commit --local、bzr pull、bzr commit 后,一些代码丢失

    我团队中的一个开发人员一直在使用绑定到服务器的分支 IE 仅使用签出 更新和提交 但也经常在提交时使用 local 标志 然后批量提交到服务器 她最近遇到了一种情况 她丢失了一些本地提交 并且无法在存储库或本地代码中找到它们 她怀疑这是因为
  • 如何将 git 存储库中的现有目录设为 git 子模块

    我对 git submodules 很困惑 基本上我的问题是我无法让 git 理解这一点 main project submodule是一个子模块 我对 git 子模块有很好的经验 in my 点文件存储库 https github com
  • 您对版本控制进行到什么程度了? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • hg 或 git 中的两个完整目录/项目之间存在差异?

    我继承了一个最初存储在 CVS 中的项目以及所有修订 我做了相当多的编辑 并且我试图比较我在原始目录中所做的所有更改 关于添加的新文件与旧文件 hg git 是否有某种实用程序可以让我进行树差异或类似性质的操作 也就是说 新添加的文件 删除
  • 如何使用 ClearCase 执行递归结帐?

    我想查看指定文件夹的所有子目录中的所有文件 使用 GUI 来执行此操作很痛苦 因为没有递归结帐选项 请注意 ClearCase 以文件为中心 而不是以存储库为中心 如 SVN 或 CVS 这意味着签出所有文件很少是一个好的解决方案 并且使用
  • $id:文件名、创建日期/时间 Exp $

    我经常在 C C 源代码中遇到以下语句 Id lzio c v 1 24 2003 03 20 16 00 56 roberto Exp Id file name version timestamp creator Exp 您知道哪些软件会
  • 如何在 SVN 中分支单个文件?

    分支的颠覆概念似乎专注于创建整个存储库的 不稳定 分支 并在其上进行开发 是否有一种机制可以创建单个文件的分支 对于用例 请考虑具有多个特定于平台的源代码 c 实现的通用头文件 h 这种类型的分支是永久性的 所有这些分支都将不断发展 偶尔会
  • 在比较 Delphi 表单文件的版本时,如何使 Beyond Compare 忽略某些差异

    我使用Beyond Compare 版本3 1 10 来比较不同版本的Delphi Form Files 但我不想看到有关ExplicitTop ExplicitLeft ExplicitHeight 和ExplicitWidth 的差异
  • 在 SourceForge 上强制进行 Git 推送

    我正在尝试回滚 SourceForge 上的 Git 存储库 我尝试了以下方法 git reset hard 9ac2e31ca4a155d4c36780b4329626045a7f40ed HEAD ist jetzt bei 9ac2e
  • Mercurial:应用从稳定命名分支到开发分支的错误修复更改

    我的仓库中有这两个命名分支 稳定且开发 我的问题是如何将稳定版中更改的错误修复补丁复制到开发分支 我真的很想在框架内执行此操作 而不是使用任何扩展 EDIT 我为这个问题设置了赏金 因为我真的想要解决方案 有一个很好的解决方案 但中途被搁置
  • 如何自动将多个 Monticello 提交从本地存储库复制到 Smalltalkhub.com?

    白天 我将多个版本的 Monticello 软件包提交到 磁盘上的本地存储库 稍后我想将本地存储库与 Smalltalkhub com 存储库同步 目前 我使用 Monticello 浏览器将本地提交手动一一复制到 Smalltalkhub
  • 使用 git 合并两个文件夹

    我正在和一些以前从未使用过 git 的人一起开发一个项目 由于不了解 git 的功能 他们创建了该项目的两个版本 开发版本和生产版本 这两个版本都存在于当前环境中 更复杂的是 除了旧的开发文件夹之外 另一个用户还创建了这些文件夹 所以项目目
  • 使用可通过 FTP 访问的 Web 服务器进行 Git 托管?

    我运行一个 糟糕的 网站 托管在第三方网络服务器上 我可以通过 FTP 访问我的 Web 服务器 据推测 Git 本身具有通过 FTP 推送 拉取的能力 由于我的 Web 服务器已经可以随处访问 我希望将其用作集中式 Git 存储库 我可以

随机推荐