Как объединить $ HOME в URL-адрес в конвейере Jenkins - PullRequest
0 голосов
/ 07 мая 2020

Как я могу объединить $HOME в URL-адрес в конвейере Jenkins? В настоящее время у меня есть следующий конвейер, и я хочу добавить свой домашний путь вместо жесткого кодирования чего-то вроде /users/john.

Это то, что я сделал, но я получаю сообщение об ошибке, что HOME равно

groovy .lang.MissingPropertyException: нет такого свойства: HOME для класса: groovy .lang.Binding

pipeline {

    agent {
        label {
            label ""
            customWorkspace "$HOME/qa-end-to-end"
        }
    }


  tools {nodejs "node"}

  stages {
        stage('Checkout App') {
            steps {
                dir("/$HOME/sfa") {
                echo "Building.."
                sh 'git reset --hard HEAD'
                sh 'git clean -f -d'
                sh 'git pull'
                }
                // build app
                dir("$HOMEsfa") {
                sh '$HOME/qa-end-to-end/App.sh'
                }

stage('Reports') {
            steps {
            script {
            allure([
                    includeProperties: false,
                    jdk: '',
                    properties: [],
                    reportBuildPolicy: 'ALWAYS',
                    results: [[path: 'target/allure-results']]
         ])
    }
    }


            }
        }

когда я запускаю это -

sh '${env.HOME}/qa-end-to-end/App.sh' 

выдает ошибку - неверная замена

1 Ответ

0 голосов
/ 07 мая 2020

Вы можете получить доступ к переменным среды на этапах конвейера с помощью объекта env, например:

${env.HOME}

См. Пример из docs

Jenkinsfile (Declarative Pipeline)
pipeline {
    agent any
    stages {
        stage('Example') {
            steps {
                echo "Running ${env.BUILD_ID} on ${env.JENKINS_URL}"
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...