如何自动化发布开源软件的任务?

3
每个管理开源软件的人都会遇到一个问题,随着时间的推移,发布新版本的过程变得越来越繁琐。您需要在版本控制中标记发布,创建分发(使用自动构建应该很容易),将它们上传到您的网站和/或开源主机。您必须在选定的网络论坛、sourceforge上的新闻系统、邮件列表以及您的博客或网站上发布几乎相同的消息来宣布新版本。并且您还需要更新freshmeat上的软件条目。可能还需要完成更多任务才能发布。

您是否开发了自动化某些任务的技术?是否存在支持此项工作的软件?

3个回答

1
对于我的Perl项目,我写了Module::Release。在顶层目录中,我只需输入一个命令:
% release

该程序会检查多个方面,如果有任何问题就会停止运行。如果一切正常,它会上传分发文件。

它可以自动化整个过程:

  • 测试多个Perl版本
  • 测试分发文件
  • 检查源代码控制状态
  • 检查代码和分发质量指标
  • 更新更改文件
  • 确定新版本号
  • 将代码发布到多个位置
  • 使用新版本号标记源代码控制

尽管如此,似乎每个人都编写自己的发布自动化程序。大多数人喜欢他们自己的流程,因此通用解决方案在社交方面并不奏效。


它可以完成一些工作,但似乎仅限于Perl项目(检查不同的Perl版本)。 - Mnementh
是的,这是我的Perl模块发布工具。这就是为什么它会做Perl方面的事情。但是,它也是一个系统。你可以用它编写自己的发布脚本。你不必只在Perl模块中使用它。 - brian d foy
值得一看。我的Perl知识有点生疏(或更多),但也许可以为我的用途进行调整。谢谢提示,我会去看看的。 - Mnementh

1

实用项目自动化展示了如何完成所有这些。他们在书中几乎使用Ant来做所有事情,因此如果您了解Ant,可以创建不同的目标来执行构建-发布周期中的任何步骤。


我使用并且喜欢Ant。所以又有一本书可以读了。感谢提示。 - Mnementh

1

Brad Fitzpatrick有一个名为ShipIt的Perl程序,用于自动化发布。在他的原始公告中有稍微更多的信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接