Конвейер Jenkins, использующий скрипт groovy: ошибка при выполнении команды sh - PullRequest
0 голосов
/ 05 сентября 2018

Я создаю простой конвейер для terraform, как показано ниже в jenkins [установлено в windows]. Кажется, команда sh не работает, в моей системе есть git bash [т.е.: C: \ Program Files \ Git \ bin)] в моем система и указали путь в переменных среды, все еще получая ошибку, как показано ниже:

java.io.IOException: ошибка CreateProcess = 2, система не может найти указанный файл

Причина: java.io.IOException: Невозможно запустить программу "nohup" (в каталоге "C: \ Users \ XYZ.jenkins \ workspace \ Pipe_Groovy"): ошибка CreateProcess = 2, система не может найти указанный файл

Код для справки:

pipeline {
    agent {
        node {
            label 'master'
        }
    }

    stages {

        stage('terraform started') {
            steps {
                sh 'echo "Started...!" '
            }
        }
        stage('git clone') {
            steps {
                sh 'sudo rm -r *;sudo git clone https://gist.github.com/XXXXX/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
            }
        }
        stage('tfsvars create'){
            steps {
                sh 'sudo cp /home/ec2-user/vars.tf ./jenkins/'
            }
        }

Пожалуйста, совет.

1 Ответ

0 голосов
/ 06 сентября 2018

Вы должны использовать bat вместо sh в конвейерах Jenkins в Windows. Вот документация по использованию bat:

https://jenkins.io/doc/pipeline/steps/workflow-durable-task-step/#-bat-%20windows%20batch%20script

Даже тогда вам, вероятно, не понадобится nohup. Но, если вам все еще нужен nohup, рассмотрите возможность установки Cygwin .

См. https://issues.jenkins -ci.org / browse / JENKINS-33708 для получения информации о проблеме Jenkins JIRA.

...