python - 烧瓶应用程序运行时,Bamboo 无法检测存储库提交
问题描述
我正在做一个有两个任务的竹子计划,
从 git 查看源代码
运行烧瓶(Python)应用程序
当 git 存储库中发生新的提交时,我想在 Bamboo 中执行上述计划。
我已经按照Bamboo 文档配置了我的项目
但是,在执行第二个任务(Python 应用程序)之后,Bamboo 无法检测到提交更改并且也没有执行任务。
只有在所有任务都停止时才有效。
解决方案
Bamboo 本身正在运行 Flask 应用程序,而不是您的系统。结果,Bamboo 构建永远不会完成,并且与此构建计划相关的所有其他 Bamboo 线程都被锁定。Bamboo 任务通常会一直运行,直到收到退出代码,而这在 Flask 应用程序运行时永远不会发生。
与其尝试从 Bamboo 运行代码,不如在竹子之外运行烧瓶应用程序。然后,您可以在源代码更改时从 Bamboo 中触发重新加载烧瓶应用程序。这将需要:
- 设置 Bamboo 检测设置以触发代码更改(你有这个,听起来它正在工作,即使它当前被阻止)。
- 有一个检查源代码的任务 - 但将其检查到您将运行 Flask 应用程序的目录。
- 配置您的烧瓶应用程序以在 Bamboo 之外查看此源代码文件夹。当源代码更新时,它将重新加载应用程序。Flask 文档对此进行了解释,但您也可以使用这一行来做到这一点:
$ FLASK_APP=main.py FLASK_DEBUG=1 python -m flask run
SO上有几个很好的答案,它们介绍了如何使用最新的代码更改重新加载您的烧瓶应用程序:
推荐阅读
- ubuntu - error in bison compilation, warning: implicit declaration of function 'yylex' and 'yyerror'
- categorical-data - Add Color to classes in scatterplot matrix (pairs)
- json - 如何在 Terraform 的 ARM 模板中使用 custom_data 参数?
- python - 如何使用 rfc822msgid 搜索电子邮件:
- tabs - Flutter:动态添加选项卡并使用 AutomaticKeepAliveClientMixin 保持状态
- navigation - 准备不会被调用 segue (Swift 4.2)
- angular - Angular 和 Laravel CORS 访问控制允许来源问题
- javascript - 控制台为 JavaScript 中的 .add 输出 Uncaught TypeError
- firebase - 从 CloudKit 迁移到 Firestore(更改令牌实施)
- joomla - Joomla 组件 - 具有不同布局的站点模型视图