【问题标题】:When running Python Flask Server, Jenkins is not successful and continues to load运行Python Flask Server时,Jenkins不成功,继续加载
【发布时间】:2021-07-30 05:55:52
【问题描述】:

我正在通过 Jenkins 构建 CICD。 但是也有问题。

计划先上传源码,通过批处理文件开启flask server。 我为 Jenkins 的 Build>Execute Shell 编写了一个 shell 脚本。

postCommand=/cygdrive/c/workspace/ContactPortal_Flask/run.bat
sshpass -p ${deployPassword} ssh -o StrictHostKeyChecking=no ${deployUser}@${deployServer} ${postCommand}

这是run.bat文件

set FLASK_ENV=development
set path=%path%;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\develop\instantclient_12_1;C:\develop\Anaconda3;C:\develop\Anaconda3\Library\mingw-w64\bin;C:\develop\Anaconda3\Library\usr\bin;C:\develop\Anaconda3\Library\bin;C:\develop\Anaconda3\Scripts;
set "START=C:\workspace\ContactPortal_Flask\start.bat"
cd C:\workspace\ContactPortal_Flask
python -m flask run

然后,源码上传成功,开启flask服务器也成功,但是Jenkins并没有标记Success,继续加载。

请帮忙!!

【问题讨论】:

    标签: python flask jenkins deployment jenkins-pipeline


    【解决方案1】:

    我认为这里的主要问题是python -m flask run 启动服务器并且在用户按下 Ctrl+C 之前不会完成。

    由于目标系统在 Windows 上,您可能希望创建自定义服务并让 jenkin 在最后启动该服务。服务创建见https://docs.microsoft.com/en-us/troubleshoot/windows-client/deployment/create-user-defined-service 并且通过启动这个服务(例如使用NET START <service-name>)jenkin 可以完成,flask 可以开始在后台运行。

    同样对于生产系统,您可能需要考虑检查 this 并选择合适的 Web 服务器,而不是使用 flask 提供的内置 Web 服务器。

    【讨论】:

      猜你喜欢
      • 2017-04-29
      • 1970-01-01
      • 1970-01-01
      • 2020-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-08
      • 2021-05-07
      相关资源
      最近更新 更多