python - 如何阅读 Jenkins 工作的标志

标签 python ios jenkins pipeline katalon-studio

我们想要从 Jenkins 启动两个脚本(一个用于 Katalon,一个用于 Python)。
首先,我们要启动 Katalon,并在脚本中的某个位置告诉 Jenkins 启动 python 脚本。然后写完python脚本,Jenkins应该告诉katalon可以继续了。
当前的 Jenkins 管道代码:

"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
             }
          }
       }
    }"
在伪代码中,它将如下:
卡塔隆脚本:
my_job()
call_jenkins_to_start_python()
if jenkins.python_flag == True
    my_job_continue()
管道 Jenkins 脚本:
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 () 步骤启动了一个独立的进程并等待它完成。此外,jenkins 和 bat 进程之间的通信是不可能的:您触发脚本并读取返回值,如果需要,还读取 stdout。
另外,我不知道你想要什么,因为我根本不知道 Katalon。你想要什么需要 Katalon 等待来自 python 脚本的结果,然后,当这个结果到达 Katalon 时,它应该恢复执行。
我建议您首先尝试不使用 Jenkins 的过程:创建一个完全符合您要求的 Windows 脚本。如果你能做到,你可以调用那个新的来自 jenkins 的脚本,根据需要提供输入或读取输出。即使按照您的建议,也可以使用文件。

关于python - 如何阅读 Jenkins 工作的标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63449555/

相关文章:

jenkins - 如何免费托管 Jenkins

python - Cython 的意外输出和返回值

python - 使用 Python 创建图表和图形

ios - 使用交互式键盘关闭时无法获得键盘高度

ios - IOS iPhone App 集成微信 : cannot get asset

ios - 如何在 Firebase 中向用户发送验证电子邮件之前注销用户

java - 为什么在 Jenkins 部署期间 JUnit 测试会在中午 12 点到 1 点之间失败?

python - CherryPy:为一个处理程序关闭工具

python - Pytest 断言方法的返回值

java - Jenkins 在 npm install 上的构建失败