我已经使用Jenkins有一段时间了。我使用了Github Pull Request Builder插件,设置了许多项目,每当有人打开一个拉取请求时,就运行测试,然后在实际合并到主分支时触发其他工作(构建、推送、部署等)。
那么,是否有办法使用Jenkinsfile、组织文件夹或多分支构建来设置这个功能呢?
我已经使用Jenkins有一段时间了。我使用了Github Pull Request Builder插件,设置了许多项目,每当有人打开一个拉取请求时,就运行测试,然后在实际合并到主分支时触发其他工作(构建、推送、部署等)。
那么,是否有办法使用Jenkinsfile、组织文件夹或多分支构建来设置这个功能呢?
github-organization-folder插件与multi-branch插件结合使用,提供了一个非常棒的功能:它扫描整个组织(可选地限制于存储库/分支名称中的某些模式),以查找Jenkinsfile
并自动添加作业。这也适用于拉取请求。
一旦PR关闭,它会自动删除该作业。
为了避免任意代码执行,组织成员必须触发构建作业(与GPRB插件相同)。该短语可以在Jenkins系统设置中配置。
编辑:在Jenkins的高级部分中,您可以找到有关要构建哪种类型的PR的选项。如果构建fork PR,则据我所知,没有办法在先前检查代码之前防止运行代码。
env.BRANCH_NAME.startsWith('PR-')
。 - Jesse Glickenv.CHANGE_ID != null
- Jesse Glick