Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 谷歌云:如何部署镜像存储库_Git_Google App Engine_Google Developers Console - Fatal编程技术网

Git 谷歌云:如何部署镜像存储库

Git 谷歌云:如何部署镜像存储库,git,google-app-engine,google-developers-console,Git,Google App Engine,Google Developers Console,我正在尝试部署一个节点应用程序,它位于GitHub的存储库中,并由Google应用程序引擎镜像 我采取的步骤: 在我的本地计算机上创建应用程序 已在Github上发布存储库 在Google控制台中,我告诉AppEngine镜像此存储库,这是可行的:如果我转到开发,存储库将显示: 然后我打开Google提供的远程shell,并尝试运行gcloud app deploy,结果出现错误,然后我注意到文件不在目录中。所以我通过shell浏览了这台机器的所有文件夹,但我找不到它 问题:我在这里遗漏了什么

我正在尝试部署一个节点应用程序,它位于GitHub的存储库中,并由Google应用程序引擎镜像

我采取的步骤:

  • 在我的本地计算机上创建应用程序

  • 已在Github上发布存储库

  • 在Google控制台中,我告诉AppEngine镜像此存储库,这是可行的:如果我转到开发,存储库将显示:
  • 然后我打开Google提供的远程shell,并尝试运行
    gcloud app deploy
    ,结果出现错误,然后我注意到文件不在目录中。所以我通过shell浏览了这台机器的所有文件夹,但我找不到它

  • 问题:我在这里遗漏了什么?谷歌镜像我的回购协议不意味着它保存在实例的某个地方吗?我也需要将其克隆到那里吗?

    我使用此答案所指的解决方案作为参考:

    在web缓存文章中,所有操作都是在云shell内部完成的,基本上,云shell“homedir”中存在一个本地回购。然后将其保存/上载到云源存储库:

    将源代码保存在云源存储库中

  • 切换到带有open shell窗格的选项卡,并转到应用程序的目录:

    cd helloworldapp
    
  • 初始化git和您的回购。如果您以前已经执行过前两个步骤,则无需执行前两个步骤:

    git config --global user.email "you@example.com" 
    git config --global user.name "Your Name" 
    git init 
    git add . -A
    git commit -m "Initial commit"
    
  • 授权Git访问GCP:

    git config credential.helper gcloud.sh
    
  • 将存储库作为名为“google”的远程存储库添加到本地Git存储库中,首先将[PROJECT_ID]替换为云的名称 项目:

    git remote add google /web/20161119132814/https://source.developers.google.com/p/[PROJECT_ID]/r/default
    
    git push google master
    
  • 在您的案例中,您走的是另一个方向:您创建了云源存储库,并使用开发人员控制台将其链接到github one,但您的cloud shell homedir中不存在repo

    您所需要做的就是将云源存储库克隆到cloud shell homedir中,我认为这可以在cloud shell中完成,遵循页面
    将您的云存储库克隆到本地Git存储库中的自定义步骤,然后从那里部署。大致如下:

    gcloud init
    gcloud source repos clone repo_name --project=proj_name
    cd repo_name
    gcloud app deploy ...
    

    我使用此答案所指的解决方案作为参考:

    在web缓存文章中,所有操作都是在云shell内部完成的,基本上,云shell“homedir”中存在一个本地回购。然后将其保存/上载到云源存储库:

    将源代码保存在云源存储库中

  • 切换到带有open shell窗格的选项卡,并转到应用程序的目录:

    cd helloworldapp
    
  • 初始化git和您的回购。如果您以前已经执行过前两个步骤,则无需执行前两个步骤:

    git config --global user.email "you@example.com" 
    git config --global user.name "Your Name" 
    git init 
    git add . -A
    git commit -m "Initial commit"
    
  • 授权Git访问GCP:

    git config credential.helper gcloud.sh
    
  • 将存储库作为名为“google”的远程存储库添加到本地Git存储库中,首先将[PROJECT_ID]替换为云的名称 项目:

    git remote add google /web/20161119132814/https://source.developers.google.com/p/[PROJECT_ID]/r/default
    
    git push google master
    
  • 在您的案例中,您走的是另一个方向:您创建了云源存储库,并使用开发人员控制台将其链接到github one,但您的cloud shell homedir中不存在repo

    您所需要做的就是将云源存储库克隆到cloud shell homedir中,我认为这可以在cloud shell中完成,遵循页面
    将您的云存储库克隆到本地Git存储库中的自定义步骤,然后从那里部署。大致如下:

    gcloud init
    gcloud source repos clone repo_name --project=proj_name
    cd repo_name
    gcloud app deploy ...
    

    好的,这是一个非常棒的答案,谢谢,但我仍然感到困惑:D哪一个是“云源存储库”?我现在所做的(修复了它)只是通过浏览器中的shell将我的repo从github克隆到我的homedir。不确定链接的东西在哪里发挥作用。“云源回购”是谷歌从云壳预期中获得的github回购的等价物——你不是直接在其中工作,而是在从中克隆的本地回购。这个本地回购副本(在云shell中)是您所缺少的。当然,我们谈论的是git,因此实际上它们几乎可以在任何方向上进行虚拟复制:因此,可以肯定的是,您可以从google cloud source repo或直接从github克隆本地副本。您只需决定哪一个是您的“主”副本,以及更改流向哪个方向。@DanCornilescu您知道如何在GAE中进行SSO吗?在某种程度上-我仍然使用较旧的GAE SDK方法,不是gcloud SDK,我也不愿意尝试不破坏我的设置:)我一直在寻找一种方法,通过在谷歌云上创建一个,每次提交回购协议时都通过GitHub启动,从而实现对GAE的自动化。仍然不成功,但似乎你的答案是目前我能从这个案例中得到的最好的答案。好的,这是一个很棒的答案,谢谢,但我仍然感到困惑:D哪一个是“云源存储库”?我现在所做的(修复了它)只是通过浏览器中的shell将我的repo从github克隆到我的homedir。不确定链接内容在哪里发挥作用,“云源回购”是google相当于您的github回购,来自云shell Prospece-您没有直接在其中工作,您正在研究从它克隆的本地回购。这个本地回购副本(在云shell中)是您所缺少的。当然,我们谈论的是git,因此实际上它们几乎可以在任何方向上进行虚拟复制:因此,可以肯定的是,您可以从google cloud source repo或直接从github克隆本地副本。您只需决定哪一个是您的“主”副本,以及更改流向哪个方向。@DanCornilescu您知道如何在GAE中进行SSO吗?在某种程度上-我仍然使用较旧的GAE SDK方法,不是gcloud SDK,我不愿意尝试不破坏我的设置:)我一直在寻找一种方法,通过从GitHub eac启动的在谷歌云上创建一个自动化到GAE