我们正在使用gitlab私有存储库来存储和共享软件包。它对开发非常有用,我们需要与合作者共享的是他们的公共ssh密钥,我们将其添加到项目中并允许通过以下方式进行安装:
npm install git+ssh://git@gitlab.com/group/project#{commit-ish}
但是,这在部署方面没有达到。是否可以通过这种方式共享用于生产的包装?
此外,我们正在部署到App Engine,但我无法找到有关在App Engine上管理SSH密钥的任何信息-如果可能和/或这样做。
答案 0 :(得分:0)
您可以使用Cloud Build自动将构建部署到App Engine。不幸的是,Cloud Build尚不支持Gitlab,但是您可以将Gitlab存储库镜像到Cloud Source Repositories并使用Cloud Repositories作为触发器。
Brian Michalski在Cloud Source Repositories + GitLab上有一篇很棒的教程。
要integrate Cloud Repositories to Cloud Build,您必须在主应用目录内创建一个cloudbuild.yaml文件。
steps:
- name: "gcr.io/cloud-builders/gcloud"
args: ["app", "deploy"]
timeout: "1600s"
将其推送给主人。
然后转到控制台上的Cloud Build页,并使用Cloud Repositories创建触发器,然后选择与要镜像到Gitlab的仓库相同的仓库。
关于您在App Engine上查询SSH密钥的问题,是因为没有任何密钥。您不能在App Engine Standard上使用SSH,而只能将SSH灵活地用于调试(一旦您从实例中退出SSH并关闭调试功能,实例将重新启动并且所有更改都将丢失)。