Hi all,
We've been trying to use Jenkins global env vars to define the svn URL to use
for some of our builds. While this seemed to work when we tested it earlier,
now that we're trying to set the env var back from a release branch to the
trunk, the value of the env var seems stuck for some build jobs.
Our Machintosh full build has the old idea of the env var while our Windows
full build sees the new, correct env var value. Both of these jobs are run on
build slaves, not the Jenkins server. We're using Jenkins ver. 1.482.
Here's more details:
This is the env var is set in Configure System -> Global properties ->
Environment variables
name: FULL_BUILD_TRUNK_TO_USE
value: trunk
I've hacked our problematic Mac build job script to output what it thinks is
the value of this env var, then purposely error to stop the job. I've also
tried defining test env vars from the global one in the job itself and via the
env inject plugin as a test.
For the injected env var test, I've defined the following:
Build Environment -> Inject environment variables to the build process ->
Properties Content
INJECTED_TRUNK_TO_USE=$FULL_BUILD_TRUNK_TO_USE
For the build job env var test, I've defined the following:
Build Environment -> Set environment variables
BUILD_ENV_VAR_TRUNK_TO_USE=$FULL_BUILD_TRUNK_TO_USE
Here's the hacked test build job script:
--snip--
#!/bin/sh
echo "This is a hack to see what this build job thinks the build env var is set
to."
echo "FULL_BUILD_TRUNK_TO_USE = ${FULL_BUILD_TRUNK_TO_USE}"
echo "INJECTED_TRUNK_TO_USE = ${INJECTED_TRUNK_TO_USE}"
echo "BUILD_ENV_VAR_TRUNK_TO_USE = ${BUILD_ENV_VAR_TRUNK_TO_USE}"
exit 1
--snip--
In all cases, the above script code outputs the old branch value of
FULL_BUILD_TRUNK_TO_USE, not the new "trunk" value set in the global config:
--snip--
[EnvInject] - Executing scripts and injecting environment variables after the
SCM step.
[EnvInject] - Injecting as environment variables the properties content
INJECTED_TRUNK_TO_USE=branches/RB-2.3.1
[EnvInject] - Variables injected successfully.
[ClientMacFull] $ /bin/sh
/var/folders/uu/uu50uc60HNO7gmdeMNxMEE+++TI/-Tmp-/hudson2189251323725654867.sh
This is a hack to see what this build job thinks the build env var is set to.
FULL_BUILD_TRUNK_TO_USE = branches/RB-2.3.1
INJECTED_TRUNK_TO_USE = branches/RB-2.3.1
BUILD_ENV_VAR_TRUNK_TO_USE = branches/RB-2.3.1
--snip--
What's odd is that the Windows build does not have the same problem. However
one difference with that build is that the global env var is used directly in
the svn URL settings of that job, whereas the Mac build manually calls svn
directly from the script using the env var itself to build the URL. So the Mac
build script directly accesses the env var in the script and the Windows build
does not.
Any ideas as to what's wrong and how I can get this to work?
Thanks in advance for any suggestions.
Best,
Allen Cronce
--
You received this message because you are subscribed to the Google Groups
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.