我有ClientLib项目,其中仅包含前端代码。它是一个多模块项目,下面是结构Client_Lib多模块项目: 因此,我们拥有Main_Project,在其中有2个子模块Module1,Module2。 这些模块是UI组件,其中源组件仅包含css,js和把手模板。
Build文件夹是使用grunt任务创建的,并且iymhy1001528791878049308366.min.js / css是重命名缩小文件后生成的文件。 iymhy1001528791878049308366是将每个更改代码提交到git并在构建过程结束后生成的哈希值。如果没有提交,则哈希将保持不变。
我现在面临的问题是,我需要设计CI / CD管道,如果我在module1中进行更改,那么只有Module1才能获得构建并在环境(QA /上部署唯一的hash.min.js / css文件阶段)。为此,我们将有詹金工作。 现在假设如果我在2个模块中进行了更改并提高了PR(拉动请求),那么流程应该是将更改合并到相应的模块中,只构建已更改的模块,并生成具有唯一哈希的文件,然后将其部署到env和启动自动化。如果自动化失败,请还原该PR。 该管道需要支持多个开发人员。 我不想在git中使用多存储库来实现这一目标。