Alo*_*lon 5 git continuous-integration continuous-deployment bitbucket-pipelines
我有一个包含多个项目的 git 存储库。每个项目的代码都可以在专用的子目录下找到。每个项目都有自己的部署过程。我希望当我在项目目录下推送提交时,它会部署正确的项目(并且仅部署它)。我目前正在使用 bitbucket pipeline,但是,它似乎没有这个选项。我怎样才能做到这一点?(我可以切换到另一个 CI/CD 工具)
它没有这个选项,因为这不是 git 的使用方式。
对于要单独部署的项目,每个项目都应该有一个存储库。这将使您能够以可管理和可记录的方式单独微调部署过程,更重要的是,保持历史记录干净。想象一下,现在在您的情况下,您需要查看特定项目的历史记录 - 您最终将挖掘其他项目的所有提交,试图找到您正在寻找的项目。
如果您需要互连项目并在公共版本控制下,有一个解决方案:子模块。在这里查看官方文档。它将允许您跟踪个人历史并同时共享资源。此外,它还可以让您对共享空间中每个项目的版本进行清晰的控制。
所以我对你的问题的解决方案:重构。将项目分离到单独的存储库,每个存储库都有自己的部署策略,效果很好。如果您需要互连它们并共享资源,使它们成为子模块,请创建一个新存储库并将它们作为子模块添加。这应该可以解决您因混乱的历史记录和无法控制的文件夹而出现的问题。