竹子变量是否自动可用作环境变量?

11

我正在尝试在我的构建脚本(PowerShell)中将Bamboo的变量作为环境变量访问。

例如,在TeamCity中这样做是可以的。

$buildNumber = "$env:BUILD_NUMBER"

我原以为这会在Bamboo上运行

$buildNumber = "$env:bamboo_buildNumber"
5个回答

9
在当前版本的Bamboo(5.x)中,以下环境变量在Amazon EC2 Linux客户端的Bash脚本中对我有效。在PowerShell中应该非常相似。
- `${bamboo.buildKey}` -- 当前作业的作业键,形式为PROJECT-PLAN-JOB,例如`BAM-MAIN-JOBX` - `${bamboo.buildResultsUrl}` -- Bamboo中结果的URL,一旦作业执行完成。 - `${bamboo.buildNumber}` -- Bamboo构建编号,例如`123` - `${bamboo.buildPlanName}` -- Bamboo计划名称,例如`Some Project name - Some plan name`
您可以在Atlassian Bamboo构建变量文档页面上查看完整列表Bamboo构建变量

这不是 OP 所问的问题:它涉及脚本任务中的 env vars 字段,而不是从脚本任务内部访问 bamboo vars。 - Alex

6

3
仍在等待能够成为Jenkins可行替代品的竹笋版本发布。 - Drew Hammond

2
是的,在Bamboo 5.9.4中,Bamboo变量似乎自动作为环境变量可用。以下是我在Powershell中的行内代码成功运行的示例:
$revision = $Env:bamboo_planRepository_revision
$buildNumber = $Env:bamboo_buildNumber
$text = "$revision - $buildNumber"
$text > 'Version.txt'

1

对于这个问题的简短回答是:不,它不能在Bamboo中工作。

您试图在Bamboo构建环境中将Bamboo全局变量用作环境变量。

  • 了解如何在Bamboo中处理全局变量。link

将您的变量名称定义为键,并将此全局变量名称添加为值(在计划配置中添加变量),然后在计划期间,您可以在创建的任何脚本(power shell /shell /bash)中访问该全局变量。

别忘了在脚本配置中将定义的变量名称添加为环境变量。

enter image description here

  • 使用此链接将全局变量定义为计划变量。 link

0

请记住,在不同平台上,变量命名规范可能会有所不同:

  • 在Unix系统中,应该使用bamboo.buildNumber
  • 在Windows系统中,点号应该被下划线替换,即bamboo.buildNumber >> bamboo_buildNumber

bamboo.buildNumberbamboo_buildNumber 在 Linux 上都可以使用。 - Alex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接