how to set jenkins env variable with python script

  • Last Update :
  • Techknowledgy :
1._
import string
import os
print 'Current version is ' + os.environ['POM_VERSION']
versionArr = string.split(os.environ['POM_VERSION'], '.')
versionArr[2] = str(int(versionArr[2]) + 1)
if int(versionArr[2]) > 100:
   versionArr[2] = '0'
versionArr[1] = str(int(versionArr[1]) + 1)
if int(versionArr[1]) > 100:
   versionArr[0] = str(int(versionArr[0]) + 1)
versionArr[1] = '0'
print versionArr
print 'New version will be: ' + versionArr[0] + '.' + versionArr[1] + '.' + versionArr[2]
os.environ['NEW_POM_VERSION'] = versionArr[0] + '.' + versionArr[1] + '.' + versionArr[2]

And then i want to run

versions: set - DnewVersion = $ {
   NEW_POM_VERSION
} - DgenerateBackupPoms = false

Suggestion : 2

See Workflow build overview and Jenkins configuration for more details.,See Jenkins configuration for more details on the configuration.,See Workflow build overview for more details on what kinds of builds the workflow scripts are currently used for.,Jenkins scripts (releng Python module) Build overview Python build script Workflow builds Matrix builds Input environment variables Output Build options Build system changes Testing releng scripts

python - m releng.test
python releng <options>

Suggestion : 3

You can use environment injector plugin. First let me breif you about this plugin's properties:,You can use the EnvInject plugin. This plugin makes it possible to have an isolated environment for your jobs.,I am unable to install packages on jenkins it was showing "An error occurred during installation: Forbidden" Dec 9, 2021 ,I hope this information may help you-how to Set environment variables in Jenkins

You can try something like this

stages {
   stage('Build') {
      environment {
         AOEU = sh(returnStdout: true, script: 'echo aoeu').trim()
      }
      steps {
         sh 'env'
         sh 'echo $AOEU'
      }
   }
}

The environment variable is then available in Ant via:

<property environment="env" />
<property name="jmeter.home" value="${env.JMETER_HOME}" />

This can be verified to works by adding:

<echo message="JMeter Home: ${jmeter.home}"/>
  • with execute method:
    return [HOSTNAME_SHELL: 'hostname'.execute().text,
       DATE_SHELL: 'date'.execute().text,
       ECHO_SHELL: 'echo hello world!'.execute().text
    ]
  • or with explicit Groovy code:
    return [HOSTNAME_GROOVY: java.net.InetAddress.getLocalHost().getHostName(),
          DATE_GROOVY: new Date()

Create a shell script, e.g.:

echo 'export VM_NAME="$JOB-NAME"' > ~/load_env.sh
echo "export AOEU=$(echo aoeu)" >> ~/load_env.sh
chmod 750~/load_env.sh

In Jenkins Build (Execute shell), invoke the script and its variables before anything else, e.g.

source~/load_env.sh

You can use groovy job file:

description('')
steps {
   environmentVariables {
      envs(PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: true)
   }
}