arielma
arielma

Reputation: 1398

Jenkins console prints only logger commands from main.py

I have a pipeline in Jenkins, which triggers a python file:

  status = sh script: '''
    python3 main.py --command check_artfiacts
''', returnStatus:true

as long I'm in the main.py, I'm getting the expected result from logger in the console:

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

however, when calling a function that exists on another python file, it doesn't work (it behaves like a normal print):

added helm to aql
amd_distribution_check_artifacts_exists: build_docker_aql_query_by_item

I know for sure it's some pipeline issue, coz when running the code from PyCharm, it prints everything as expected. Did anyone face such an issue?

Upvotes: 0

Views: 1575

Answers (1)

arielma
arielma

Reputation: 1398

I found the solution in this thread: jenkins-console-output-not-in-realtime so -u worked for me:

python3 -u main.py --command check_artfiacts

Upvotes: 1

Related Questions