将jenkins管道中设置的变量传递到shell脚本

codeLover

我想通过jenkins作业将少量参数发送到用linux服务器编写的我的shell脚本之一。以下是我的詹金斯管道工作:

def MY_VAR
def BUILD_NUMBER
pipeline {
    agent any
    stages {
        stage('Stage One') {
            steps {
                script {
                    BUILD_NUMBER={currentBuild.number}
                    MY_VAR ='abc'
                }                         
            }
        }
        stage('Stage Two') {
            steps {                    
                sh '''
                    cd /scripts/
                    ./my_scripts.sh $BUILD_NUMBER $MY_VAR'''
            }
        }
    }
}

在这里,我可以发送的值,BUILD_NUMBER但不能发送的值MY_VAR在我看来,自从MY_VAR进入管道以来,正是如此。有人可以帮忙解决吗

希蒙·斯蒂芬尼克

如果要$MY_VAR在执行sh步骤进行插值,则需要用双引号替换单引号。

def MY_VAR
def BUILD_NUMBER
pipeline {
    agent any
    stages {
        stage('Stage One') {
            steps {
                script {
                    BUILD_NUMBER={currentBuild.number}
                    MY_VAR ='abc'
                }                         
            }
        }
        stage('Stage Two') {
            steps {                    
                sh """
                    cd /scripts/
                    ./my_scripts.sh $BUILD_NUMBER $MY_VAR"""
            }
        }
    }
}

这是$BUILD_NUMBER可行的,因为管道公开了,env.BUILD_NUMBER并且可以在shell步骤内作为bash的$BUILD_NUMBERenv变量访问此变量。或者,您可以将其设置MY_VAR为环境变量,并在该sh步骤中保留单引号这样的事情应该可以解决问题:

pipeline {
    agent any
    stages {
        stage('Stage One') {
            steps {
                script {
                    //you can remove BUILD_NUMBER assignment - env.BUILD_NUMBER is already created.
                    //BUILD_NUMBER={currentBuild.number}
                    env.MY_VAR ='abc'
                }                         
            }
        }
        stage('Stage Two') {
            steps {                    
                sh '''
                    cd /scripts/
                    ./my_scripts.sh $BUILD_NUMBER $MY_VAR'''
            }
        }
    }
}

您可以从我的一篇博客文章中了解有关Jenkins Pipeline环境变量的更多信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

可以将 Jenkins 参数(变量)直接传递到 shell 脚本中吗?

来自分类Dev

Jenkins脚本化管道:无法在Shell中打印变量并在Shell中设置变量值

来自分类Dev

将变量从shell脚本传递给jenkins

来自分类Dev

将python变量传递到shell脚本中

来自分类Dev

无法将变量从Jenkins管道的脚本部分传递到Ansible剧本

来自分类Dev

将变量从Java传递到Shell脚本

来自分类Dev

将环境变量传递给jenkins管道bash脚本

来自分类Dev

如何将变量从Shell脚本传递到mysql脚本

来自分类Dev

使用Node.js将JavaScript变量通过管道传递到Shell命令中

来自分类Dev

Jenkins工作流将变量传递给Shell脚本

来自分类Dev

从Fastlane将环境变量传递到Shell脚本

来自分类Dev

将变量从Jython(wsadmin)传递到shell脚本

来自分类Dev

将变量从Python脚本传递到tcl shell

来自分类Dev

如何将变量从Shell脚本传递到.muttrc?

来自分类Dev

如何将多个变量从 AppleScript 传递到 Shell 脚本?

来自分类Dev

在jenkins管道脚本中获取gradle变量

来自分类Dev

通过shell脚本将变量从父shell传递到子shell

来自分类Dev

是否可以将脚本传递给shell变量中的awk?

来自分类Dev

将环境变量从Jenkins文件传递到以管道为代码的共享库

来自分类Dev

尝试将管道秘密变量传递到Powershell脚本时出错

来自分类Dev

将JavaScript变量传递到Rails脚本中

来自分类Dev

无法将Powershell中的变量从函数传递到脚本

来自分类Dev

Shell脚本中的Jenkins管道环境变量创建一个新行

来自分类Dev

将值存储到Shell脚本中的变量

来自分类Dev

如何将Shell脚本的输出存储到变量中

来自分类Dev

如何将变量从shell脚本传递到python脚本并保存,然后

来自分类Dev

等待shell脚本中可能会通过管道传递到/ bin / bash的密钥

来自分类Dev

将Jenkins管道中的交互式输入读入Shell脚本

来自分类Dev

为什么shell不设置通过管道传递的变量?

Related 相关文章

  1. 1

    可以将 Jenkins 参数(变量)直接传递到 shell 脚本中吗?

  2. 2

    Jenkins脚本化管道:无法在Shell中打印变量并在Shell中设置变量值

  3. 3

    将变量从shell脚本传递给jenkins

  4. 4

    将python变量传递到shell脚本中

  5. 5

    无法将变量从Jenkins管道的脚本部分传递到Ansible剧本

  6. 6

    将变量从Java传递到Shell脚本

  7. 7

    将环境变量传递给jenkins管道bash脚本

  8. 8

    如何将变量从Shell脚本传递到mysql脚本

  9. 9

    使用Node.js将JavaScript变量通过管道传递到Shell命令中

  10. 10

    Jenkins工作流将变量传递给Shell脚本

  11. 11

    从Fastlane将环境变量传递到Shell脚本

  12. 12

    将变量从Jython(wsadmin)传递到shell脚本

  13. 13

    将变量从Python脚本传递到tcl shell

  14. 14

    如何将变量从Shell脚本传递到.muttrc?

  15. 15

    如何将多个变量从 AppleScript 传递到 Shell 脚本?

  16. 16

    在jenkins管道脚本中获取gradle变量

  17. 17

    通过shell脚本将变量从父shell传递到子shell

  18. 18

    是否可以将脚本传递给shell变量中的awk?

  19. 19

    将环境变量从Jenkins文件传递到以管道为代码的共享库

  20. 20

    尝试将管道秘密变量传递到Powershell脚本时出错

  21. 21

    将JavaScript变量传递到Rails脚本中

  22. 22

    无法将Powershell中的变量从函数传递到脚本

  23. 23

    Shell脚本中的Jenkins管道环境变量创建一个新行

  24. 24

    将值存储到Shell脚本中的变量

  25. 25

    如何将Shell脚本的输出存储到变量中

  26. 26

    如何将变量从shell脚本传递到python脚本并保存,然后

  27. 27

    等待shell脚本中可能会通过管道传递到/ bin / bash的密钥

  28. 28

    将Jenkins管道中的交互式输入读入Shell脚本

  29. 29

    为什么shell不设置通过管道传递的变量?

热门标签

归档