我目前在生产中运行后端,并且想要将当前的设置更改为使用Docker进行部署,并使用CI工具进行testing。
现在我有一个BitBucket存储库,两个主要分支“开发”和“主”,两个独立的服务器开发和生产,通过我本地触发的shell脚本从各自的分支拉代码。 通过这种方式,我可以在完全隔离的环境中使用dev服务器和dev数据库手动testing更改,然后再合并到master并部署到生产环境。
git Repository dev-server prod-server | +----------+ +----------+ |-- develop | | | | |-- master | pulls | | pulls | | develop | | master | | | | | +----------+ +----------+
我想通过编写testing来改变这个问题,并使用Docker和一个像Drone(它是Go后端)或者Jenkins这样的CI工具,但是我不知道如何一起玩。 我已经阅读了很多关于Docker的书籍,大多数教程都假定您在本地开发,然后直接将容器部署到生产服务器。 另外我猜CI工具应该位于开发服务器上?
任何人都可以向我解释在我的情况下可能的stream程是怎样的?
例如:我在本地进行更改,然后推进“开发”。 开发服务器有一个git挂钩,可以识别推送,并以某种方式触发运行testing的CI服务器。 如果testing通过它可以合并开发主(这是现在的CD?),这再次触发生产服务器上的钩子build立新的形象,并运行容器。 是对的吗? 另外哪个服务器现在托pipedocker回购?