每个管理开源软件的人都会遇到问题,随着时间的推移,发布新版本的过程会变得越来越多。您必须在版本控制中标记发布,创建发行版(使用自动构建应该很容易),将它们上传到您的网站和/或开源主机。您必须在选定的网络论坛、sourceforge 上的新闻系统、邮件列表以及您的博客或网站上以几乎相同的信息宣布新版本。你必须更新你的软件在freshmeat上的入口。可能需要为发布完成更多任务。
您是否开发了一些技术来自动化其中一些任务?是否存在支持您的软件?
每个管理开源软件的人都会遇到问题,随着时间的推移,发布新版本的过程会变得越来越多。您必须在版本控制中标记发布,创建发行版(使用自动构建应该很容易),将它们上传到您的网站和/或开源主机。您必须在选定的网络论坛、sourceforge 上的新闻系统、邮件列表以及您的博客或网站上以几乎相同的信息宣布新版本。你必须更新你的软件在freshmeat上的入口。可能需要为发布完成更多任务。
您是否开发了一些技术来自动化其中一些任务?是否存在支持您的软件?
对于我的 Perl 内容,我编写了Module::Release。在顶级目录中,我键入一个命令:
% release
如果检查几件事,如果有任何问题就死掉。如果一切顺利,它会上传分发。
它使我的整个过程自动化:
不过,每个人似乎都在编写自己的发布自动化程序。大多数人喜欢他们的过程,他们喜欢他们的过程,所以一般的解决方案在社会上并不那么有效。
Pragmatic Project Automation展示了如何做到这一切。他们几乎将Ant用于本书中的所有内容,因此如果您了解 Ant,您可以创建不同的目标来执行构建-发布周期中的任何步骤。