如何阅读詹金斯工作上的标志

问题描述

我们要从Jenkins启动两个脚本(一个用于Katalon,一个用于Python)。 首先,我们要启动Katalon,然后在脚本中的某个点告诉Jenkins启动python脚本。然后完成python脚本,詹金斯应该告诉katalon可以继续。

当前的詹金斯管道代码

@H_404_4@"pipeline { agent any stages { stage('Unit Test') { steps { echo 'Hello Example' bat """./katalon -noSplash -runMode=console projectPath="/Users/mypc/project/proyect1/example.prj" -retry=0 - testSuitePath="Test Suites/IOS/TestSuiteAccount" -executionProfile="default" - deviceid="example" -browserType="iOS" """ sleep 5 } } stage('Unit Test2') { steps { echo 'Start second test' bat """python C:\\Users\\myPC\\Documents\\project\\project-katalon-code\\try_python.py""" sleep 5 } } } }"

使用伪代码将是以下内容

Katalon脚本:

@H_404_4@my_job() call_jenkins_to_start_python() if jenkins.python_flag == True my_job_continue()

管道詹金斯脚本:

@H_404_4@Katalon.start() if katalon_sent_signal_to_start_python == True start_python_job() if python_finished_job_signal == True send_katalon_signal_to_continue()

将是读/写外部文件的好方法吗?没有找到类似的东西。

谢谢!

解决方法

AFAIK,詹金斯(Jenkins)为bat()步骤启动了一个备用过程,并等待其完成。另外,詹金斯与bat进程之间也无法进行通信:触发脚本并读取返回的值,如果需要,还可以读取stdout。

此外,我不知道您是否可能想要什么,因为我根本不了解 Katalon 。您想要的内容要求Katalon等待python脚本的结果,然后,当结果到达Katalon时,它应该恢复其执行。

我建议您先尝试没有的过程Jenkins:创建一个完全符合您要求的Windows脚本。如果能够做到这一点,则可以从jenkins调用该新脚本,根据需要提供输入或读取输出。就像您建议的那样,为此使用文件。