我目前正在尝试围绕基于 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 存储库)的配置在该项目的所有开发人员中保持一致。然后让开发人员通过代码空间处理项目,并在完成后提交他们的更改。
到目前为止,在 VS Code 中从 GitHub 签出项目时,我能够在 VS Code 中使用 Dockerfiles 来自动设置正确的 Node 版本(例如)。
通过从 2 台笔记本电脑登录代码空间帐户,我还能够创建代码空间并在工作空间上进行协作。同步按预期工作,只要我在一台笔记本电脑上保存文件,我就可以在另一台笔记本电脑的 IDE 中看到它。
问题/问题 有几件事我还不明白,并阻止我完成设置:
- 开发人员目前需要登录 azure 帐户,才能连接到 VS Code 中的代码空间。这意味着每个开发人员都可以查看和编辑每个人的文件。如果您想协作,那就太好了,但似乎无法将项目与开发人员分开/隐藏。
- 如果在 VS 代码中连接到 Docker 容器,远程编译就变得不可能了
- 如果我连接到代码空间,我会丢失 dockerfile 设置。
- 如果我为 GitHub 上的每个分支创建一个代码空间,那么开发人员将相互干涉其他代码,源代码控制就会消失。
- 如果我在 GitHub 上为每个分支的结帐创建一个代码空间,情况会变得更糟,因为我失去了在开发人员之间对齐设置的可能性。
所以无论我走哪条路,我都会失去每个策略的关键功能。
我错过了什么?
我花了很多时间阅读各种 Microsoft 文档,但无法找到令人满意的答案。