1

我目前正在尝试围绕基于 Codespaces 和 Docker 的开发设置进行思考: https ://docs.microsoft.com/en-us/visualstudio/codespaces/how-to/browser#create-an-environment

要求/情况:

  • 3 名开发人员
  • 2 托管在 Github 上的项目
  • 项目 1 有 2 个分支(+master)
  • 项目 2 有 1 个分支(+master)
  • 开发人员 1 和 2 正在开发项目 1 的分支 1
  • 开发人员 2 正在开发项目 1 的分支 2 和项目 2 的分支 1(即“唯一的非主分支”)
  • 开发人员应该能够使用 VS Codespaces 进行开发,即远程编译,无需手动安装插件、配置 Node 版本等。
  • 有一个使用“mail@my_company.com”登录的公司 Azure 帐户:

我试图在下图中可视化情况: 在此处输入图像描述

解决方案尝试: 这个想法是将 Dockerfiles 添加到 GitHub 存储库,以使每个项目(即 GitHub 存储库)的配置在该项目的所有开发人员中保持一致。然后让开发人员通过代码空间处理项目,并在完成后提交他们的更改。

  1. 到目前为止,在 VS Code 中从 GitHub 签出项目时,我能够在 VS Code 中使用 Dockerfiles 来自动设置正确的 Node 版本(例如)。

  2. 通过从 2 台笔记本电脑登录代码空间帐户,我还能够创建代码空间并在工作空间上进行协作。同步按预期工作,只要我在一台笔记本电脑上保存文件,我就可以在另一台笔记本电脑的 IDE 中看到它。

问题/问题 有几件事我还不明白,并阻止我完成设置:

  1. 开发人员目前需要登录 azure 帐户,才能连接到 VS Code 中的代码空间。这意味着每个开发人员都可以查看和编辑每个人的文件。如果您想协作,那就太好了,但似乎无法将项目与开发人员分开/隐藏。
  2. 如果在 VS 代码中连接到 Docker 容器,远程编译就变得不可能了
  3. 如果我连接到代码空间,我会丢失 dockerfile 设置。
  4. 如果我为 GitHub 上的每个分支创建一个代码空间,那么开发人员将相互干涉其他代码,源代码控制就会消失。
  5. 如果我在 GitHub 上为每个分支的结帐创建一个代码空间,情况会变得更糟,因为我失去了在开发人员之间对齐设置的可能性。

所以无论我走哪条路,我都会失去每个策略的关键功能。

我错过了什么?

我花了很多时间阅读各种 Microsoft 文档,但无法找到令人满意的答案。

4

1 回答 1

2

感谢您考虑 Visual Studio Codespaces - 我有几个答案要给您,但我想确保您看到我们最近宣布Visual Studio Codespaces 正在整合到 GitHub Codespaces 并且当前服务将于 2 月停用。展望未来,我们鼓励您考虑使用 GitHub 产品来满足您的远程开发需求。

对于您的主要问题,每个开发人员都需要自己登录到 Azure/VS Codespaces - 他们不会共享一个。登录后,他们将在他们正在从事的特定项目需要时自行创建代码空间 - 我们不鼓励管理员为其他人创建代码空间,因为代码空间与单个用户帐户相关联。

于 2020-10-01T23:55:42.227 回答