Continuous integration Bitrise在代码推送上运行部署工作流(当它不应该时)
我不明白为什么会发生以下两件事:Continuous integration Bitrise在代码推送上运行部署工作流(当它不应该时),continuous-integration,continuous-deployment,bitrise,Continuous Integration,Continuous Deployment,Bitrise,我不明白为什么会发生以下两件事: 当我将一些提交推送到我的feature\u foo分支时,会运行两个工作流(构建):针对最新提交的主工作流,以及针对我的上一个PR部署工作流,都在feature\u foo上。我希望只运行主工作流,因为我还没有发布PR 在同一分钟内,从artifacts+\@bitrese.io向我发送了两封相同的电子邮件通知。我理解公关(因为公关在技术上是一种推动),但我怀疑这是问题所在,因为我还没有创建公关 以下是我当前的bitrise.yml触发器映射: trigger_
feature\u foo
分支时,会运行两个工作流(构建):针对最新提交的主工作流,以及针对我的上一个PR部署工作流,都在feature\u foo
上。我希望只运行主工作流,因为我还没有发布PRartifacts+\@bitrese.io
向我发送了两封相同的电子邮件通知。我理解公关(因为公关在技术上是一种推动),但我怀疑这是问题所在,因为我还没有创建公关李>
以下是我当前的bitrise.yml触发器映射:
trigger_map:
- push_branch: "*"
workflow: primary
- pull_request_source_branch: "*"
pull_request_target_branch: feature
workflow: deployment-staging
- tag: "v*.*.*"
workflow: deployment-production
顺便说一句,这是我想要的3-workflow设置:
功能
分支(当创建PR时,即预合并状态,以便参与者可以预览其建议更改的潜在影响)功能的PRs合并到分支时,运行部署(部署工作流)到暂存
v*.
时,运行部署(部署工作流)到生产谢谢如果打开PR,会触发另一个构建吗?你确定公关部还没有打开吗 答 我只想在代码经过检查后部署 我猜您的意思是,当PR被审查并合并到目标分支机构中时,例如,合并到
主分支机构中
为此,您可以使用如下配置:
当您打开PR并每次更新PR时,这将使用名为primary
的工作流运行生成。在这种情况下,您通常希望在primary
工作流中运行一些自动化测试(单元/ui测试、过梁和/或执行测试生成)
然后,当您合并PR(在本例中,合并到主分支中)时,它将使用deploy
工作流触发构建(从技术上讲,合并会生成提交/推送事件)
我希望这有帮助,如果你有任何问题,请告诉我 维克多的回答足够了,但我想补充一些可能与其他人有关的发现:
当我将一些提交推送到我的feature\u foo分支时,会运行两个工作流(构建):针对最新提交的主工作流,以及针对上一个PR的部署工作流,这两个工作流都在feature\u foo上
我相信发生这种情况是因为我有一个开放的PR,并将其他提交推送到该PR的源分支。根据我当时的触发器映射(上面在OP上共享),它将运行deploy staging
工作流。Viktor共享的触发器映射对我的用例更有意义
在同一分钟内,从artifacts+\@bitrese.io向我发送了两封相同的电子邮件通知
事实证明Bitrise在两封单独的电子邮件中同时发送了一个签名和一个未签名的APK(无论什么)
trigger_map:
- push_branch: master
workflow: deploy
- pull_request_target_branch: "*"
workflow: primary