【发布时间】:2017-07-31 21:55:42
【问题描述】:
通过入口点文件
我从 jenkins 调用一个 php 脚本,使用“执行 shell”部分 -
php entry.php branch_name_${branch_name} deployment_group_${deployment_group} rollback_${rollback} last_successful_revision_${last_successful_revision} sanity_check_duration_start_time_delay_sec_${sanity_check_duration_start_time_delay_sec} sanity_check_duration_end_time_delay_sec_${sanity_check_duration_end_time_delay_sec}
我尝试在那里访问 jenkins 内部版本号,但它不可用 -
$build_number = exec(${BUILD_NUMBER});
file_put_contents('/home/jenkins/deployment_beta/phing/new_test_sandeepan.txt', "\n Build number is ".$build_number, FILE_APPEND);
该文件中的登录 lin 显示 -
Build number is
通过 phing xml 文件
我也尝试在 phing xml 文件中访问它 -
<appspecFileModifications buildName="${BUILD_NUMBER}" />
这个xml文件是通过上面提到的入口文件(php脚本)调用的,像这样——
$last_output = exec("phing -q -Dbranch_name=".$branchName, $output);
我检查了其他问题,例如 - How to use jenkins to declare BUILD_NUMBER environment variable in gradle? Jenkins - How to access BUILD_NUMBER environment variable
【问题讨论】:
-
你为什么
execute 内部版本号? -
我应该在 exec 中添加 echo 吗?无论如何,我也在入口点 php 文件中尝试过这个 -
$last_output = exec("phing -q -Dbuild_number=${BUILD_NUMBER}", $output); -
不,执行官没有任何意义。环境变量应该在$_ENV
-
我尝试转储 $_ENV 变量,但它显示为空 -
file_put_contents('/home/jenkins/deployment_beta/phing/new_test_sandeepan.txt', "\n Build number is ".$_ENV['BUILD_NUMBER']." and all env vars are ".print_r($_ENV,1)."\n", FILE_APPEND);。输出 - `内部版本号是,所有环境变量都是数组()` -
好的,我用 getent() 搞定了。谢谢!