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

问题描述

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

当前的詹金斯管道代码:

"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脚本:

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

管道詹金斯脚本:

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调用该新脚本,根据需要提供输入或读取输出。就像您建议的那样,为此使用文件。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...