更改GCP计算引擎?



我已经使用lambda有一段时间了,并且有一段时间没有配置经典机器了。

我过去做的是在机器上运行一个git钩子,这样每当git发生更新时,它就会更新机器上的代码。

我正在想办法优雅地更新谷歌计算引擎。

我想使用docker,所以我可以很容易地旋转新的实例,但我不知道该怎么做,以更新机器上的节点js代码

部署在计算引擎上是相当广泛的,它取决于您的需要。我最后使用了几种不同的方法。

With Docker: Inside my package。我有一个命令yarn deploy,构建并提交一个新的docker实例到Google容器存储库。

然后它使用gcloud重新启动实例组(我认为您不需要组,该命令对于单个实例会有所不同,概念类似)。然后用新的代码拉出最新的Docker镜像。

{
"name": "cloudtest",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"scripts": {
"dev": "NODE_ENV=development npx ts-node src/index.ts",
"start": "node app.js",
"docker": "gcloud builds submit --tag gcr.io/disco-skyline-353218/docker-image .",
"deploy": "yarn docker && yarn restart:instance",
"compile": "rimraf dist/ && tsc && yarn compile:browser && yarn copy:files && yarn copy:browser",
"copy:files": "copyfiles -u 1 ./src/*.css dist/",
"copy:browser": "copyfiles -u 1 ./src/browser/dist/* ./src/browser/lib/* ./src/browser/*.css dist/",
"compile:browser": "cd ./src/browser && tsc && webpack",
"restart:instance": "gcloud compute instance-groups managed rolling-action restart gpu-renderer-docker-node-group --zone us-central1-a"
},
}

我有一些问题与Docker和访问我的容器内的Nvidia GPU驱动程序(我想我现在知道如何修复)。出于沮丧,我跳过了docker,而是使用了startup.sh脚本。

仍在努力使启动实例自动,但我的策略没有docker是一个bash脚本已经过测试,并确保我使用相同的操作系统。

我在机器上手动安装了一个——bare git repo https://www.digitalocean.com/community/tutorials/how-to-set-up-automatic-deployment-with-git-with-a-vps

理想情况下,启动脚本将做到这一点,我可以很容易地管理多个实例这种方式。更好的是回到我的Docker策略并修复驱动程序的问题(使用Google Container Optimized OS可能会很棘手)

我希望这对你有帮助,你的工作流程取决于你和你的团队。可以 时使用Dockergcloudbash

如果你正在使用Github,你可以使用这个扩展https://github.com/marketplace/actions/google-cloud-compute-engine-deploy

如果你正在使用Jenkins,你可以用ssh连接机器并更新你的代码。

如果你想要一个本地解决方案,Cloud Build可以帮助你更多的→Google cloud build with Compute Engine

最新更新