最新バージョンのHudson(1.316)をダウンロードし、単に「set」を実行するジョブを作成して、簡単なテストを行いました(これに慣れていない場合は、コンソールでsetを単独で実行すると、内のすべての環境変数が一覧表示されます。現在のスコープ)。
これがコンソール出力です。これらはすべて環境変数です。ユーザーとシステムに加えて、Hudsonメタ情報をジョブで利用できるようにするためにHudson自体によって定義された変数です。
Started by user anonymous
[workspace] $ cmd /c call D:\Temp\hudson5023210513071219278.bat
C:\Documents and Settings\jack\.hudson\jobs\Environment Variable Test\workspace>set
ALLUSERSPROFILE=C:\Documents and Settings\All Users
APPDATA=C:\Documents and Settings\jack\Application Data
BUILD_ID=2009-07-19_22-59-42
BUILD_NUMBER=1
BUILD_TAG=hudson-Environment Variable Test-1
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=BEEBLEBROX
ComSpec=C:\WINNT\system32\cmd.exe
EXECUTOR_NUMBER=0
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\jack
HUDSON_COOKIE=a0bc798a-20ab-40bc-aad6-f4a331567999
HUDSON_HOME=C:\Documents and Settings\jack\.hudson
JAVA_HOME=c:\program files\java\jdk1.6.0
JOB_NAME=Environment Variable Test
LOGONSERVER=\\BEEBLEBROX
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Os2LibPath=C:\WINNT\system32\os2\dll;...blah...blah...blah...
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 15 Model 15 Stepping 0, AuthenticAMD
PROCESSOR_LEVEL=15
PROCESSOR_REVISION=0f00
ProgramFiles=C:\Program Files
PROMPT=$P$G
QTJAVA=C:\Program Files\Java\jre1.6.0\lib\ext\QTJava.zip
SystemDrive=C:
SystemRoot=C:\WINNT
TEMP=D:\Temp
TMP=D:\Temp
USERDOMAIN=BEEBLEBROX
USERNAME=jack
USERPROFILE=C:\Documents and Settings\jack
windir=C:\WINNT
WORKSPACE=C:\Documents and Settings\jack\.hudson\jobs\Environment Variable Test\workspace
C:\Documents and Settings\jack\.hudson\jobs\Environment Variable Test\workspace>exit 0
Finished: SUCCESS
あなたの変数は、ハドソンプロセスの所有者の環境内で単純に定義されていないのではないかと思います(またはそのようなもの、実際に知るためにあなたのハドソンの設定に関する詳細情報が必要になります)。
編集:別の注意点として、/ systemInfoを見ると、Hudsonで使用できるすべてのシステムプロパティと環境変数を確認できます。Hudsonが作業を行うために新しいプロセスを生成するとき、Hudsonが最初に明示的に削除しない限り、すべての環境変数を子プロセスで使用できるようにする必要があることに注意してください(これはJavaよりもオペレーティングシステムの性質であると私は信じています)。したがって、特定の環境変数の削除について詳しく説明しているドキュメントが表示されない限り(そうであれば、開発者には理由があると確信しています)、最初に変数がハドソンで利用可能かどうかを確認します。 。