gpt4 book ai didi

git - Jenkins 向来自 GitHub 的用户发送电子邮件通知,该用户在 dev 分支中推送了提交

转载 作者:太空狗 更新时间:2023-10-29 14:03:08 25 4
gpt4 key购买 nike

我有一种情况,所有开发人员都在开发分支中工作,并将所有提交仅推送到该开发分支。一位看门人将查看这些更改并将其 merge 到主分支。

在 Jenkins 中,我有一个由推送到 master 分支触发的工作。我想设置一个构建后操作来检查构建是否失败,然后向开发人员的开发人员发送一封电子邮件,该开发人员的 push dev 分支导致构建失败,而不是将电子邮件发送给 merge 开发人员的看门人更改到 master 分支并触发构建。我该怎么做?

最佳答案

这是我们遵循的以下过程,并建议使用与此类似的方法:

1) Allow merge to Develop branch from PR only

所有开发人员的更改只能通过 PR-Pull 请求推送到开发分支。以这样一种方式进行配置,即应通过最少的检查以允许 PR merge 以进行开发。

这样所有将要 merge 到开发分支中的更改都将得到验证,开发人员有责任确保清除检查以进行 merge ,而不会再让看门人头疼。

添加快照以供引用。

enter image description here

更新:Git 流策略

enter image description here

来源:https://nvie.com/posts/a-successful-git-branching-model/

2) Define Pipelines & Multibranch

如果您已经在使用管道和多分支插件作为 CI/CD 的一部分,那么上述步骤会很简单。如果不是,这些是理想的插件,应该成为 CI/CD 的一部分。

这里有一些引用:

https://jenkins.io/doc/book/pipeline/

https://wiki.jenkins.io/display/JENKINS/Pipeline+Multibranch+Plugin

https://jenkins.io/doc/tutorials/build-a-multibranch-pipeline-project/

更新:Multibranch Pipeline 项目类型使您能够为同一项目的不同分支实现不同的 Jenkins 文件。在多分支流水线项目中,Jenkins 自动发现、管理和执行源代码控制中包含 Jenkinsfile 的分支的流水线。

引用此处创建多分支管道:https://jenkins.io/doc/book/pipeline/multibranch/

GitHub Organization Folder使 Jenkins 能够监控整个 GitHub 组织并自动为包含分支和包含 Jenkinsfile 的 pull 请求的存储库创建新的多分支管道。

3) Enable emailext

此处的示例代码段将为已提交代码的开发人员触发通知。

emailext(
subject: "Build ${env.JOB_NAME} - ${currentBuild.displayName} ${currentBuild.result}",
body: """Build ${currentBuild.result}
${env.JOB_URL}
""",
recipientProviders: [[$class: 'DevelopersRecipientProvider']]
)

此处描述了变量 currentBuild 的更多选项:https://qa.nuxeo.org/jenkins/pipeline-syntax/globals#currentBuild

Emailext 插件:https://wiki.jenkins.io/display/JENKINS/Email-ext+plugin

https://jenkins.io/doc/pipeline/steps/email-ext/

希望这能在一定程度上有所帮助。

关于git - Jenkins 向来自 GitHub 的用户发送电子邮件通知,该用户在 dev 分支中推送了提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51253425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com