【问题标题】:Google Cloud: How to deploy mirrored RepositoryGoogle Cloud:如何部署镜像存储库
【发布时间】:2017-06-26 14:37:58
【问题描述】:

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

我采取的步骤:

  1. 在我的本地机器上创建应用程序

  2. 在 Github 上发布了存储库

  3. 在 Google 控制台中,我告诉 App Engine 镜像此存储库,该存储库有效:如果我转到开发,则显示存储库:

  1. 然后我打开谷歌提供的远程shell,并尝试运行gcloud app deploy,它给出了错误,然后我注意到文件不在目录中。于是我通过shell浏览了这台机器的所有文件夹,都找不到。

问题:我在这里缺少什么?谷歌镜像我的回购并不意味着它保存在实例上的某个地方吗?我是否也需要将其克隆到那里?

【问题讨论】:

    标签: git google-app-engine google-developers-console


    【解决方案1】:

    我使用此答案所指向的解决方案作为参考:https://stackoverflow.com/a/40693455/4495081

    在网络缓存文章中,所有操作都在在云外壳内完成,基本上本地存储库存在于您的云外壳“homedir”中。从那里它被保存/上传到云源存储库:

    将您的源代码保存在 Cloud Source Repositories 中

    1. 切换到打开 shell 窗格的选项卡并转到您的应用目录:

      cd helloworldapp
      
    2. 初始化 git 和你的 repo。如果您以前做过前两个步骤,则不需要:

      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"
      
    3. 授权 Git 访问 GCP:

      git config credential.helper gcloud.sh
      
    4. 将存储库作为名为“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 存储库,但您的 cloud shell homedir 中不存在存储库。

    您需要做的就是将您的云源存储库克隆到您的云外壳主目录中,我认为可以按照自定义步骤在云外壳中完成Source Code 页面的Clone your Cloud Repository to a local Git repository 部分中指出,然后从那里部署。大致如下:

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

    【讨论】:

    • 好的,这是一个很棒的答案,谢谢,但我仍然觉得它令人困惑:D 哪个是“云源存储库”?我现在所做的(修复了它)只是通过浏览器中的 shell 将我的 repo 从 github 克隆到我的 homedir。不确定链接的东西在哪里发挥作用。
    • “云源代码库”是您的 github 代码库的 google 等价物,它来自 cloud shell 预期——您不是直接在其中工作,而是在从它克隆的本地代码库中工作。这个本地 repo 副本(在云 shell 中)是您所缺少的。当然,我们说的是 git,所以实际上它们几乎都可以在几乎任何方向上复制:当然,您可以从谷歌云源代码库或直接从 github 克隆您的本地副本。您只需要确定哪个是您的“主”副本以及更改的方向。
    • @DanCornilescu 你知道如何在 GAE 中进行 SSO 吗?
    • 在某种程度上 - 我仍在使用旧的 GAE SDK 方法,而不是 gcloud SDK 方法,我不愿意尝试不破坏我的设置 :)
    • 我也一直在寻找 here 以找到一种方法,通过在 Google Cloud 上创建一个 custom build 来将 the deploy 自动化到 GAE对回购的承诺。仍然不成功,但您的答案似乎是我目前能得到的最好的答案。
    猜你喜欢
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多