Git 使用Lerna通过CI自动发布npm包

Git 使用Lerna通过CI自动发布npm包,git,npm,continuous-integration,lerna,Git,Npm,Continuous Integration,Lerna,在我的公司,我们使用lerna管理javascript库的repo。我们有大约30个软件包和10个开发人员在做这项工作。随着团队的不断壮大,软件包的数量也在不断增加,我们正在寻找一种简单的方法来管理如何自动发布每个软件包的新版本 我们每天会触发几次新的发布,根据包的变化,我们的项目可以使用新的库。我们仅限于从CI触发发布,因为我们没有凭据推送到内部npm存储库。因此,我们在本地运行lerna publish--exact--skip npm,以碰撞每个发生更改的包,然后合并package.jso

在我的公司,我们使用lerna管理javascript库的repo。我们有大约30个软件包和10个开发人员在做这项工作。随着团队的不断壮大,软件包的数量也在不断增加,我们正在寻找一种简单的方法来管理如何自动发布每个软件包的新版本

我们每天会触发几次新的发布,根据包的变化,我们的项目可以使用新的库。我们仅限于从CI触发发布,因为我们没有凭据推送到内部npm存储库。因此,我们在本地运行
lerna publish--exact--skip npm
,以碰撞每个发生更改的包,然后合并package.json文件,并通过负责发布部分的CI来运行它

随着时间的推移,这会导致问题,特别是当多个开发人员试图同时发布时。或者,当碰撞版本的人不是更改代码的人,并且不知道是否应该是补丁、小碰撞等

当我们使用typescript时,我们的一个想法是比较上一个版本和新版本中的d.ts文件,以了解是否有更改,并自动决定使用补丁或小补丁。主要的碰撞将由开发人员手动完成。虽然d.ts文件不在git repo中,所以这样做会很烦人

我想知道是否有人有经验管理这样的回购协议的包?你的工作区怎么样?在持续集成环境中,您如何处理发布

谢谢