【问题标题】:jenkins get pipeline environment variable in ssh agent plugin sh commandjenkins 在 ssh 代理插件 sh 命令中获取管道环境变量
【发布时间】:2021-06-06 13:03:05
【问题描述】:

我正在尝试获取在管道中声明的环境变量,不幸的是我没有在 ssh 代理 shell 命令中获取管道环境变量。

我正在尝试获取在管道中声明的环境变量,不幸的是我没有在 ssh 代理 shell 命令中获取管道环境变量。

请在下面找到代码:

#!groovy
library 'reference-pipeline'


pipeline{
    agent { 
        label 'Weblogic||Tomcat'
    }

    environment{
        HostName='test.prod.com'
        sshserver="ssh -o StrictHostKeyChecking=no user@${HostName}"

        SERVER_ADDRESS='192.25.58.201'
        CONFIG='PRODUCTION'

    }
    stages 
    {
        stage("Check TLA version") 
        {
         steps{
            script{
                    sshagent(credentials : ['SSH_Credentials']) {
                        sh """
                        set -e
                        $sshserver << "EOF"
                         
                        echo "Configuration:$CONFIG"  // output "Configuration: " should be "Configuration:production"
                        echo " Server:$SERVER_ADDRESS" // output "Server: " should be "Server: 192.25.58.201"
                        echo " Server Host  :  $hostname" // output "server host: testgood"
                        echo "started"
                        '`git describe`'
                        echo "ended"
                        
                         cd /var/lib/ubuntu/test-srv/current

                        server_version="`git describe`"
                        echo "Current server version:  $server_version"
                        if [[ $server_version != *'1.0.0_Release'* ]]; then
                            echo "Error: The underlying server version is not 1.0.0_Release Release. Exiting ..."
                            exit 1
                        fi
    EOF                   
                        """


                      
                    }
                }
            }
        }
        
    }
    post {
        always {
                cleanWs()
            }
    }
}

【问题讨论】:

    标签: jenkins jenkins-pipeline sh pipeline ssh-agent


    【解决方案1】:

    代替:

    echo "Configuration:$CONFIG"
    

    尝试:

    echo "Configuration: ${env.CONFIG}"
    

    【讨论】:

    • 是的..我试过了。不工作..它看起来像引号问题。如果我将 sh 双引号更改为单引号配置值,我得到但 git describe 抛出错误。
    • 您能否将刚才描述的代码添加到您的问题中,使用 sh 块周围的单引号?还有 git 命令的错误信息
    猜你喜欢
    • 2019-09-24
    • 1970-01-01
    • 2017-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多