我们在基于RPM的linux上发布软件。 我们收到来自不同团队的许多软件包,一些在我们的业务部门之外,必须正确升级(将来我们要检查依赖关系是否正确)。 最近我们被从我们业务部门以外提供的软件包升级中的一个错误所困扰。 现在是开始尝试自动testing这类事情的时候了。
我想到的事情是假设安装是好的(这通常会在functiontesting时间被捕获),然后检查使用前/后脚本进行的升级是否以与安装相同的方式修改文件。 如果不是,则标志为审查。
具体而言,我们要检查升级,内核升级等angular落案例,在chroot中运行的内核可能甚至不可用的chroot安装等。
我的问题是,做这种事情的软件是否已经存在? 我的search没有太多的运气。
当然,这个自动化的过程也会被包装指南所支持,但是由于我们的一些RPMs来自于我们的组织之外,所以我们仍然希望这个备份在将来给予我们保证。
你已经问了一个相当普遍的问题,所以可能会有各种可能的答案。 我会从个人经验推荐的一个select是jenkins。
jenkins是一个很好的持续集成工具集。 https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins这是一个相当灵活的工具,你可以得到很多不同的插件。 安装/设置非常简单。 你可以在自己的机器上安装linux / windows / …它为你提供动力和控制你的自动化作业。
您可以使用Jenkins来完成一系列您希望自动化的不同任务。 *定期编译和testing运行(良好select构build错误/pipe理和构build/testing运行报告插件)*定期备份,运行常规或触发testing*检查源代码更新和保持工作区最新/干净*使用ssh插件在外部机器上运行自动化任务
在过去,我已经将它用于项目范围的工作和个人开发任务。
你会自动testing设置,rpm安装,然后testing一个脚本或一组脚本。 jenkins将允许您使用networking界面pipe理工作。 工作状态和工作/testing报告可浏览使用networking界面。 通过电子邮件或其他方式发送的错误或报告。
进一步阅读。 。 。
持续交付: http : //en.wikipedia.org/wiki/Continuous_deployment http://www.martinfowler.com/articles/continuousIntegration.html过去我使用巡航控制和buildbot,但是我发现它们比Jankins。
这个博客条目似乎与您的问题非常相关: http : //www.devops-blog.net/koji/installing-a-rpm-based-build-system Jenkins +一系列其他工具