How to set an environment variable programmatically in Jenkins/Hudson?

后端 未结 2 1449
猫巷女王i
猫巷女王i 2020-12-09 17:39

I have two scripts in the pre-build step in a Jenkins job, the first one a perl script, the second a system groovy script using the groovy plugin. I need information from th

相关标签:
2条回答
  • 2020-12-09 18:10

    Using EnvInject Plugin from job configuration you should use Inject environment variables to the build process / Evaluated Groovy script.

    Depending on the setup you may execute Groovy or shell command and save it in map containing environment variables:

    Example

    By either getting command result with execute method:

    return [DATE: 'date'.execute().text]
    

    or with Groovy equivalent if one exists:

    return [DATE: new Date()]
    
    0 讨论(0)
  • 2020-12-09 18:17

    The way to propagate environment variables among build steps is via EnvInject Plugin.

    Here are some previous answers that show how to do it:

    • How to set environment variables in Jenkins?
    • Jenkins : Report results of intermediate [windows batch] build steps in email body

    In your case, however, it may be simpler just to write to a file in one build step and read that file in another. To make sure you do not accidentally read from a previous version of the file you can incorporate BUILD_ID in the file name.

    0 讨论(0)
提交回复
热议问题