我已经使用CircleCI,TravisCI和Azure DevOps已有很长时间了。
拥有一台托管服务器很好地与您可以想到的所有外部服务(VCS,CD管道,应用商店等)集成在一起虽然很棒,但我最大的苦恼之一就是测试CI。设置此类系统时,我大部分时间都在调整和配置YAML文件,Bash脚本以及CI流程的其他部分,以便更快,更聪明地工作。但是,此过程很慢:甚至需要1-5分钟才能得到第一个错误消息,指出出现了问题,更不用说有时需要1个小时以上才能完成最终构建。
您只能在本地做很多事情-模拟环境变量,使用正确的容器并为相关服务添加凭据。但是,还不完全。我为此设想了一种全方位服务的解决方案,该解决方案要与Azure或Travis完全相同地设置环境,包括根据特定的推送等从Git获取数据。 / p>
我将为此付出高昂的代价-这将为我节省每周等待CI代理旋转并完成小的ls
,pwd
和echo
语句的时间只是想弄清楚我在哪里。
那里有类似的东西吗?
编辑: This是“鸭嘴式”解决方案的一个很好的例子,该解决方案可能很有用,但并不完善。我正在寻找这样的东西,但更坚固。
编辑2: This是解决方案的一个坏例子,该解决方案要求我手动执行最关键的部分-依赖关系。
编辑3: This有很多有趣的选项,特别是使用Chef和travis-cookbooks或vagrant。到目前为止,这似乎是最有希望的方向,尽管仅是特拉维斯。也许为每种类型的座席设置无业游民框?