このページの内容

Specifying Global, Build-specific or System Variables

When configuring a plan, you may want to specify variables to be used in the build process. There are three types of variables available to you:

The usage format for all global and build-specific variables is:

${bamboo.<variable>}

すべてのシステム変数に使用される形式は次のとおりです。

${system.<variable>}

e.g. if you have a system variable MYPATH=C:\MyPath; you can use a Bamboo system variable system.MYPATH which will inherit the same value as the system variable.

Where can I use Global, Build-specific or System Variables?

Variables can be used in the following fields of your build plan:

フィールド

Available variables

Goal (for Maven builders only)
— see Specifying a Plan's Builder

Global variables
Build-specific variables
System variables

Build File (for Ant and NAnt builders only)
— see Specifying a Plan's Builder

Global variables
Build-specific variables
System variables

Target (for Ant and NAnt builders only)
— see Specifying a Plan's Builder

Global variables
Build-specific variables
System variables

Options (for NAnt builders only)
— see Specifying a Plan's Builder

Global variables
Build-specific variables
System variables

Script (for Scripts only)
— see Specifying a Plan's Builder

Global variables
Build-specific variables
System variables

Argument (for Scripts and Custom Commands only)
— see Specifying a Plan's Builder

Global variables
Build-specific variables
System variables

System Environment Variables
— see Specifying a Plan's Builder

Global variables
Build-specific variables
System variables

Repository URL (for Subversion repositories only)
— see Specifying a Plan's Source Repository

Global variables
System variables

Web Repository URL (for Subversion, CVS and Perforce repositories)
— see Specifying a Plan's Source Repository

Global variables
System variables

CVS Root (for CVS repositories only)
— see Specifying a Plan's Source Repository

Global variables
System variables

Branch name (for CVS repositories only)
— see Specifying a Plan's Source Repository

Global variables
System variables


Maven example 
For example, you may want your Maven 2 version to be determined by Bamboo. In Maven 2 pom.xml you may have:

...
<groupId>com.atlassian.boo</groupId>
<artifactId>boo-test</artifactId>
<packaging>jar</packaging>
<version>1.1.${env.bambooBuildNumber}-SNAPSHOT</version>
...

You can then specify the following in the 'Goal' field of your build plan:

clean package -DbambooBuildNumber=${bamboo.buildNumber}

When the command runs, Bamboo will replace the buildNumber with the actual number (e.g. 1102), which will be passed to the underlying Maven build to use. The command will then produce a jar that looks like this: boo-test-1.1.1102-SNAPSHOT.jar.

Using Capabilities as Variables

グローバル変数と同じ方法で使用する機能を指定することもできます。

機能の形式は次のようにする必要があります。

${bamboo.capability.<capability_key>}

例:

  • カスタム
    ${bamboo.capability.<capability_key>}
  • JDK
    ${bamboo.capability.system.jdk.<jdk_label>}
  • ビルダー
    ${bamboo.capability.system.builder.<builder_type>.<builder_label>}
    e.g. ${bamboo.capability.system.build.maven.Maven1}
  • perforce
    ${bamboo.capability.system.p4Executable}

機能をクリックすると、特定の機能キーが URL に含まれます。

URL のスペース文字は "+" の文字に置き換わります。変数として使用する場合は、スペース文字を含む機能ラベルを使用しないことをお勧めします。スペース文字の考えられる解決策は、「${}」記号でフォーマットすることですが、すべての場合にうまくいくわけではありません。

What Capabilities Can I Use Where?

Global and Build-Specific Variables can be used in a specific fields of your build plan, as specified above. For capabilities,

例:

システム変数を指定しようとしているが、エージェントごとに異なる値を設定する場合は、次の手順を実行してください。

  1. Set the following as a system environment variable field on the 'Builder' tab:
    ${bamboo.capability.thatsystemvariable}
  2. システム環境変数を各エージェントのカスタム機能として指定し、必要に応じて機能を異なる値に設定します。