我们在基于RPM的linux上发布软件。我们收到许多来自不同团队的包,其中一些来自业务单元之外,必须正确升级(将来我们希望检查依赖项是否正确)。最近,我们在从业务部门外部发送的包中升级时被一个bug咬了。现在是开始为这类事情进行自动化测试的时候了。
我想到的是假设安装是好的(这通常会在功能测试时捕捉到),然后检查带有预/后脚本的升级是否以与安装相同的方式修改文件。如果没有,则标记以供评审。
具体来说,我们希望检查升级,角的情况,如内核升级,chroot安装在运行的内核可能甚至不能在chroot中,等等。
我的问题是,做这种事情的软件已经存在了吗?在我的搜索中我运气不佳。
当然,这个自动化的过程也会得到包装指南的支持,但是由于我们的部分RPM来自于我们的组织之外,我们仍然希望这一退路在未来给我们保证。
发布于 2014-06-12 12:54:31
你提出了一个相当一般性的问题,我认为,因此,可能有各种可能的答案。我从个人经验中推荐的一个选择是詹金斯。
Jenkins是一个很好的持续集成工具集.https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins,这是一个非常灵活的工具,你可以得到一个很好的不同插件范围。安装/安装非常容易。您可以在自己的机器上安装linux/windows/.它给你权力和控制你的自动化工作。
您可以使用Jenkins完成一系列您希望自动化的不同任务。*定期构建和测试运行(很好地选择构建错误/管理和构建/测试运行报告插件)*定期备份、运行定期或触发测试*检查源代码更新和保持工作区域更新/干净*使用ssh插件在外部机器上运行自动任务。
在过去,我曾将它用于项目范围内的工作和个别开发人员任务。
您将自动化您的测试设置,rpm安装,然后测试作为一个脚本或一组脚本。Jenkins将允许您使用web界面管理作业。作业状态和使用web接口可浏览的作业/测试报告。以电子邮件或其他方式发送的错误或报告。
进一步阅读。。。
连续交付:http://en.wikipedia.org/wiki/Continuous_部署,http://www.martinfowler.com/articles/continuousIntegration.html,我过去使用过巡航控制和建造机器人,但我发现它们比Jankins更有限。
这篇博客文章似乎与您的问题相当相关:http://www.devops-blog.net/koji/installing-a-rpm-based-build-system Jenkins +一系列其他工具
https://serverfault.com/questions/604616
复制相似问题