有人知道如何在Google Compute Engine中自动处理部署吗? 我想发出一个命令,例如npm run deploy-to-gce,它将从git中提取所有文件,编译并启动节点应用程序
我知道在创建实例时可以运行启动脚本,但是每次创建实例时运行npm install(和git clone)等都需要大量时间。每次我要部署时,从头开始创建所有内容似乎有点多余。
在没有登录的情况下,无法从实例外部运行脚本或向虚拟机发出命令?
-Jani
答案 0 :(得分:0)
如果要使用自动部署创建新实例,可以使用Deployment Manager,请参阅[1]。
另一方面,如果您有一个每次创建实例时始终安装的软件列表,则可以从现有Compute Engine实例的启动磁盘创建映像。然后使用该映像为您的实例创建新的启动磁盘,请参阅[2],如果您需要安装其他软件,则可以使用启动脚本。
好消息是,使用Deployment Manager可以结合以下3种功能:创建新实例,添加现有启动磁盘(如上所述)并包括启动脚本(如果需要安装其他软件的话),请参阅[3]。
此外,您可以使用存储桶将启动脚本存储在Google Cloud Storage中,然后在其中调用它,这使您可以从任何地方访问启动脚本并绕过元数据服务器的限制。有关更多详细信息,请参见[4]。
这里有一些Deploy Manager示例(模板),有关您可能发现有用的其他任务,请参见[5]。
资源:
[1] https://cloud.google.com/deployment-manager/docs/how-to
[2] https://cloud.google.com/compute/docs/images#custom_images
[4] https://cloud.google.com/compute/docs/startupscript#cloud-storage
[5] https://github.com/GoogleCloudPlatform/deploymentmanager-samples