Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Open source 如何自动化发布开源软件的任务?_Open Source_Automation_Version_Release_Versions - Fatal编程技术网

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

Open source 如何自动化发布开源软件的任务?,open-source,automation,version,release,versions,Open Source,Automation,Version,Release,Versions,每个管理开源软件的人都会遇到这样的问题,随着时间的推移,发布新版本的过程会得到越来越多的工作。您必须在版本控制中标记发行版,创建发行版(通过自动构建应该很容易),将它们上载到您的网站和/或开源宿主。您必须在选定的网络论坛、sourceforge上的新闻系统、邮件列表以及您的博客或网站上发布几乎相同的消息。你必须在freshmeat上更新你的软件条目。可能需要为发布完成更多任务 您是否开发了一些自动化这些任务的技术?是否存在支持您实现这一点的软件?对于我的Perl内容,我写道。在顶级目录中,我键入

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


您是否开发了一些自动化这些任务的技术?是否存在支持您实现这一点的软件?

对于我的Perl内容,我写道。在顶级目录中,我键入一个命令:

% release
如果检查了一些东西,如果有什么不对劲就死。如果一切正常,它将上载分发

它自动化了我的整个过程:

  • 针对多个版本的Perl进行测试
  • 测试分发文件
  • 检查源代码管理的状态
  • 检查代码和分发质量度量
  • 更新更改文件
  • 确定新版本号
  • 将代码发布到多个位置
  • 使用新版本号标记源代码管理

不过,每个人似乎都在编写自己的发布自动机。大多数人都喜欢自己的流程,所以一般的解决方案在社交方面效果不太好。

展示了如何做到这一切。它们几乎适用于本书中的所有内容,因此,如果您了解Ant,您可以为构建发布周期中的任何步骤制定不同的目标。

Brad Fitzpatrick有一个用于自动化发布的Perl程序。his中有更多的信息。

它做了一些工作,但似乎仅限于Perl项目(使用不同的Perl版本进行检查)。是的,它是我的Perl模块发布工具。这就是为什么它做Perl的东西。然而,这是一个系统。您可以使用它编写自己的发布脚本。您不必在Perl模块中使用它,至少值得一看。我的Perl知识有点(或更)陈旧,但也许可以根据我的用途进行调整。谢谢你的提示,我来看看。我用蚂蚁,我爱蚂蚁。那就另读一本书吧。谢谢你的提示。