首页 > 解决方案 > 如何在 Jenkins 管道的 url 中连接 $HOME

问题描述

如何$HOME在 Jenkins 流水线中连接 URL?我目前有以下管道,我想添加我的主路径,而不是硬编码/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' 

我收到一个错误 - 替换错误

标签: jenkinsterminaljenkins-pipeline

解决方案


您可以使用 env 对象在管道步骤中访问环境变量,例如:

${env.HOME}

查看文档中的示例

Jenkinsfile (Declarative Pipeline)
pipeline {
    agent any
    stages {
        stage('Example') {
            steps {
                echo "Running ${env.BUILD_ID} on ${env.JENKINS_URL}"
            }
        }
    }
}

推荐阅读