Как выполнить python скрипт в jenkins - PullRequest
0 голосов
/ 10 апреля 2020

Я пытаюсь создать базовое приложение c hello world:

pipeline {
   agent any

   stages {
      stage('Hello') {
         steps {
            echo 'Hello World'
            python E:/airflowtmp/hello.py

         }
      }
   }
}

Когда я его выполняю, выдается следующее сообщение об ошибке:

Running in Durability level: MAX_SURVIVABILITY
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 8: Expected a step @ line 8, column 13.
               python E:/airflowtmp/hello.py
               ^

1 error

    at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)
    at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1085)
    at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:603)
    at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:581)
    at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:558)
    at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
    at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
    at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)
    at groovy.lang.GroovyShell.parse(GroovyShell.java:700)
    at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(CpsGroovyShell.java:142)
    at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:127)
    at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:561)
    at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:522)
    at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:337)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:428)
Finished: FAILURE

Как запустить базовое приложение? c python приложение, использующее Jenkins? Я создал конвейер через панель инструментов и вставил python .py в шаблон. Он успешно печатает привет мир, но когда я добавляю оператор python, он генерирует ошибку.

1 Ответ

1 голос
/ 10 апреля 2020

Вы должны обернуть выполнение python в директиву sh, чтобы оно заработало.

pipeline {
   agent any
   stages {
      stage('Hello') {
         steps {
            echo "Hello World"
            sh "python E:/airflowtmp/hello.py"
         }
      }
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...