负载平衡的Cloud Foundry部署上的数据库迁移

问题描述 投票:0回答:1

我正在云代工厂部署应用程序。我还在部署之前运行db迁移。为此,我的启动命令如下所示:

./run_migration && ./run_app

这在1个实例上运行良好,但现在我有2个实例,因此启动命令更改为:

[ $CF_INSTANCE_INDEX != 0 ] || ./run_migration && ./run_app

这样,迁移仅在实例编号0上运行。这也可以。但是,一旦迁移失败。

2019-02-12T13:56:45.27+0100 [APP/PROC/WEB/0]OUT Exit status 1
2019-02-12T13:56:45.28+0100 [CELL/SSHD/0]OUT Exit status 0
OK

requested state: started
instances: 2/2

     state      since                    cpu     memory        disk
#0   starting   2019-02-12 01:56:36 PM   0.0%    0 of 1G       0 of 1G
#1   running    2019-02-12 01:56:39 PM   15.8%   93.3M of 1G   249.4M of 1G

据我所知,虽然只有一个实例能够开始,但这个puch被认为是健康的。

当并非所有实例都设法启动时,是否有一种方法可以使推送失败

database-migration cloudfoundry
1个回答
0
投票

当并非所有实例都设法启动时,是否有一种方法可以使推送失败

我不知道如何做到这一点,但你可以随时跟进并在cf push完成后检查。

运行cf app <app> | grep 'instances:',您应该看到正在运行的号码和总请求数。如果他们不匹配某事。

如果你只是试图让你的部署脚本失败,那么做一个这样的检查,而更多的工作,应该就足够了。如果还有其他原因,您需要在问题中添加一些背景知识,以便我们更好地了解用例。

希望有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.