如何在Cloud Foundry上重启NodeJS应用(在更改代码后)

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

我正在尝试清理/修复IBM CloudFoundry实施中的现有NodeJS应用程序。

在更改之间进行全面构建会杀死我,因此我使用cf ssh-code用法对SCP更改进行了脚本编写。这是脚本。我发现必须为此操作获取代码,因此将其粘贴到剪贴板(使用Windows中的剪辑)。当提示您输入密码时,您只需要点击粘贴即可:

#!/bin/bash

ibmcloud cf ssh-code | sed -n '3 p' > one-time-ssh-code && clip < one-time-ssh-code
scp -P 2222 -o User=cf:<APP GUID>/<INSTANCE NUMBER> $1 <SSH ADDRESS...cloud.ibm.com>:/home/vcap/app/$1

if [[ "$2" == "--restart" ]]
        then
                echo "Restarting Cloud Foundary app..."
                ibmcloud cf restart <APP NAME>
fi

为了进行测试,我在app.js中进行了更改,以显示日志以显示服务器何时启动。我在不到一秒钟的时间内就完成了这些更改(比构建要快得多)...

$ ./scp-cf app.js
<THE ABOVE CREDENTIALS REFLECTED>'s password:
app.js                                                                                                                                                                100% 4936    32.7KB/s   00:00

我将ssh放入容器:

#!/bin/bash

ibmcloud cf ssh-code | sed -n '3 p' > one-time-ssh-code && clip < one-time-ssh-code
ssh cf:<APP GUID>/0@<SSH ADDR>.cloud.ibm.com -p2222

我可以看到文件刚刚更新!

现在,我将使用scp-cp app.js标志运行相同的--restart。我以为这会克服远程CF应用程序容器上没有节点-v或npm或yarn的所有未知数。

app.js                                                                                                                                                                100% 4936    31.7KB/s   00:00
Restarting Cloud Foundary app...
Invoking 'cf restart <APP NAME>

然后我在重新启动之前先查看我已更新的文件。它从上一个完整版本恢复为文件...

我的意思是,无论如何我都无法使应用程序进行更改。我只对CF和构建管道有所了解,但是我已经掌握了这一点,我确实需要通过约束来加快开发速度。

任何人告诉我如何实际重新启动NodeJS应用程序,以便它可以进行更改吗?如果知道了,我会发布。

node.js ibm-cloud cloudfoundry application-restart
1个回答
0
投票

您必须执行push来更新在重新启动,重新分期或重新缩放时使用的内容。

本地测试。

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