K..*_*K.. 8 ios docker react-native fastlane
我正在尝试简化我的iOS开发版本并阅读有关Docker的内容.
如果我理解正确的话,我可以创建一个包含所有依赖项的图像,而我的同伴开发人员可以将其拉入并在其中构建.
点现在,这是否也适用于Fastlane(我认为使用Xcode cli工具)和"Docker for Mac"?
此外,我正在使用React-Native,它似乎启动了第二个进程,用于捆绑稍后将包含在本机构建中的JavaScript,并且我读到Docker只允许一个进程,这是一个问题吗?
mil*_*lch 21
使用Docker的问题在于,即使您使用Docker for mac,您也无法访问基于macOS的图像.Docker在一个名为xhyve的轻量级虚拟机中运行 - 至少如果你通过Docker for Mac软件包安装docker - 在你的mac上运行Linux.
本质上,这意味着您的docker容器将仅限于非Xcode功能.这是你绝对无法做到的,至少在没有非常重要的工作量的情况下:
codesign以下是您可能使用docker容器的内容:
deliver)match,cert,pem和sigh)总而言之,你可能会非常有限.相反,建议使用Gemfile和Brewfile列出所有依赖项之类的东西,并setup.sh运行一个小脚本brew bundle并将bundle install其安装在同事的机器上.您还可以将其设置为在构建期间运行(使用Xcode的脚本构建阶段),这样就不会有人意外忘记安装构建所需的东西.
话虽这么说,有一个fastlane docker图像正在这里工作,也可以在Docker Hub上使用.请注意,它只是经过测试才能运行fastlane测试(不依赖于macOS专用软件),所以它实际上并没有声称能够可靠地运行fastlane.
我读Docker只允许一个进程
Docker允许多个进程,它只允许不允许多个主进程.如果您的主进程停止其他所有操作并且容器随之停止.如果您只是想使用它来安装依赖项,以便您可以运行使用它们的一次性命令,而不是托管长时间运行的服务,您可以使用docker run以下命令来执行此操作:
docker run <repo/image:tag> <your_command>
Run Code Online (Sandbox Code Playgroud)
或者在容器中启动交互式shell:
docker run -it <repo/image:tag> /bin/bash
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8531 次 |
| 最近记录: |