我在Jenkins中有一个管道,它会触发一个python文件:
status = sh script: '''
python3 main.py --command check_artfiacts
''', returnStatus:true
只要我在main.py中,就可以从控制台中的logger获得预期的结果:
2019-11-28 22:14:32,027 - __main__ - INFO - starting application from: C:\Tools\BB\jfrog_distribution_shared_lib\resources\com\amdocs\jfrog\methods, with args: C:\Tools\BB\jfrog_distribution_shared_lib\resources\com\amdocs\jfrog\methods
2019-11-28 22:14:32,036 - amd_distribution_check_artifacts_exists - INFO - Coming from func: build_aql_queries
但是,当调用另一个python文件中存在的函数时,该函数不起作用(其行为类似于普通打印):
added helm to aql
amd_distribution_check_artifacts_exists: build_docker_aql_query_by_item
我确定这是一些管道问题,因为从PyCharm运行代码时会产生问题,因为它可以按预期打印所有内容。 有人遇到过这样的问题吗?
答案 0 :(得分:0)
我在此线程中找到了解决方案: jenkins-console-output-not-in-realtime 所以-u为我工作:
python3 -u main.py --command check_artfiacts