由于服务只被创建一次,并在其某些方面发生变化时更新(例如新版本的新镜像),因此我们没有强烈的动机将服务创建添加到持续部署流程中,不然所得到的只是复杂性的增加,而没有任何实际的好处。因此,我们将手动创建所有服务,并在稍后讨论每次发行的新版本将如何触发自动化流程。
我们已经多次创建了go-demo、go-demo-db、proxy、jenkins和注册表服务,所以这里不再解释并直接运行scripts/dm-swarm-services-2.sh(https://github.com/ vfarcic/cloud-provisioning/blob/master/scripts/dm-swarm-services-2.sh),它将重现前几章中的情形:
service ls命令的输出如下(为简洁起见,删除了ID):
所有的服务都在运行。现在运行的脚本与之前使用的scripts/dm-swarm-services.sh(https://github.com/vfarcic/cloud-provisioning/blob/master/scripts/dm-swarm-services.sh)的唯一区别就是这次添加了注册表。
现在生产环境已经启动并运行,我们在swarm-test集群中创建了相同的服务集。由于该集群是在类似生产环境中运行的服务以及Jenkins代理之间共享的,因此我们将服务限制在prod-like节点上运行。(www.xing528.com)
与生产集群一样,我们将通过脚本运行服务。这次将使用scripts/dm-test-swarm-services-2.sh(https://github.com/vfarcic/cloud-provisioning/blob/master/scripts/ dm-test-swarm-services-2.SH):
service ls命令的输出如下(为简洁起见,删除了ID):
现在这些服务运行在生产和类生产环境中,我们可以继续讨论采用Jenkins将CD流程自动化的方法。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。