首页 > 解决方案 > Lerna 和 Jenkins 构建策略

问题描述

首先抱歉,如果这是问题的错误地方!

我与之合作的一个团队最近采用了lerna作为在一个存储库中管理多个 javascript / node 包的工具。然而,我们正在努力寻找一种使用 Jenkins 构建这些多个包的好方法。当我们将代码推送到远程 (git) 时,会触发一个 webhook,导致 Jenkins 开始构建代码(典型过程)。即使只更改了一个包,这也会触发存储库中所有包的作业。

我们目前的想法是在 webhook 的中间人,并基于调用 GitHub API 选择要构建的包或在 Jenkins 中找到一些东西,让我们进行基于路径的检查(为此苦苦挣扎)。

我进行了很好的搜索,但还没有真正找到任何可行的方法。任何建议将不胜感激。

标签: javascriptnode.jsjenkinsbuildlerna

解决方案


当变更集包含一个或多个与给定模式匹配的文件(文档)时,Jenkins 可以有条件地运行一个步骤

例如,

stage('build project') {
  when { changeset "packages/project-a/**/*" }

  steps {
    echo "Project A changed..."
  }
}

推荐阅读