パイプラインの変数

Bitbucket Pipelines provides a set of default variables as well as the ability to define your own variables. You can mark variables as secured for additional security of your passwords, tokens, and other values. You can also update your variables when you run a pipeline manually.

Reference variables in your pipeline

Variables are configured as environment variables in the build container. You can access the variables from the bitbucket-pipelines.yml file or any script that you invoke by adding $ in front such as:

$AWS_SECRET

where AWS_SECRET is the name of the variable.

デフォルトの変数

Bitbucket Pipelines は、ビルドで利用でき、スクリプトでも使用可能な一連の既定の変数を提供します。

You can override the default variables by specifying a variable with the same name.

既定の変数 説明
CI Default value is true. Gets set whenever a pipeline runs.
BITBUCKET_BOOKMARK Mercurial プロジェクトで使用します。
BITBUCKET_BRANCH

The source branch. This value is only available on branches.

Not available for builds against tags, or custom pipelines triggered from a commit.

BITBUCKET_BUILD_NUMBER ビルドの一意の識別子。ビルドごとに増え、一意のアーティファクト名の作成に使用できます。
BITBUCKET_CLONE_DIR

Docker コンテナ内でのリポジトリのクローン先のディレクトリの絶対パス。

BITBUCKET_COMMIT ビルドを開始したコミットのコミット ハッシュ値。
BITBUCKET_DEPLOYMENT_ENVIRONMENT The name of the environment which the step deploys to. This is only available on deployment steps.
BITBUCKET_DEPLOYMENT_ENVIRONMENT_UUID

The UUID of the environment which the step deploys to. This is only available on deployment steps.

BITBUCKET_EXIT_CODE The exit code of a step, can be used in after-script sections. Values can be 0 (success) or 1 (failed)
BITBUCKET_GIT_HTTP_ORIGIN The URL for the origin, for example: http://bitbucket.org/<account>/<repo>
BITBUCKET_GIT_SSH_ORIGIN Your SSH origin, for example: git@bitbucket.org:/<account>/<repo>.git
BITBUCKET_PARALLEL_STEP

Zero-based index of the current step in the group, for example: 0, 1, 2, …

並行ステップでのみ使用できます。

BITBUCKET_PARALLEL_STEP_COUNT

Total number of steps in the group, for example: 5.

並行ステップでのみ使用できます。

BITBUCKET_PR_DESTINATION_BRANCH

The pull request destination branch (used in combination with BITBUCKET_BRANCH).

Only available on a pull request triggered build.

BITBUCKET_PR_ID The pull request ID
Only available on a pull request triggered build.
BITBUCKET_PROJECT_KEY The key of the project in which the repository lives.
BITBUCKET_PROJECT_UUID The UUID of the project in which the repository lives.
BITBUCKET_REPO_FULL_NAME The full name of the repository (everything that comes after http://bitbucket.org/).
BITBUCKET_REPO_OWNER The name of the account in which the repository lives.
BITBUCKET_REPO_OWNER_UUID リポジトリが所属するアカウントの UUID。
BITBUCKET_REPO_SLUG リポジトリ名の URL 用の名前。詳細については、「スラッグとは」を参照してください。
BITBUCKET_REPO_UUID リポジトリの UUID。
BITBUCKET_STEP_RUN_NUMBER Number of times a step has been executed per pipeline.
BITBUCKET_STEP_TRIGGERER_UUID UUID from the user who triggered the step execution.
BITBUCKET_TAG

ビルドを開始したコミットのタグ。この値はタグでのみ使用できます。

ブランチのビルドでは使用できません。

ユーザー定義変数

You can add, edit, or remove variables at the account, repository, and deployment environment levels. If you use the same name as an existing variable, you can override it. The order of overrides is Deployment > Repository > Account > Default variables. Each deployment environment is independent so you can use the same variable name with different values for each environment.

  • 名前には ASCII 文字、数字、およびアンダースコアのみを含めることができます。
  • 名前では大文字と小文字が区別されます。
  • 名前の先頭を数字にすることはできません。
  • Variables can't contain line breaks. If you need a variable containing a line break, then use the base64 or openssl command to encode your variable, and add the output to your variables. Then, within your bitbucket-pipelines.yml file, decode the variable to use it in your scripts.

チームと個人アカウントの変数

前提条件:

  • チームまたは個人アカウントの変数には、チームまたはアカウントに所属するリポジトリ (非公開または公開) への書き込み権限を持つすべてのユーザーがアクセスできます。
  • You must be an administrator of an account or a repository to manage variables respectively. If you don't have the necessary level of permission, you will not see the menu option at all.
  • Variables specified for a team or an individual account can be accessed from all repositories that belong to the team or account. You must be an administrator to manage team variables.
  • チームまたは個人アカウントの変数は、リポジトリ変数によって上書きすることができます。

Steps:

チームまたは個人アカウントの変数を管理するには:

  1. 左下のアバターから、[Bitbucket settings] をクリックします。
  2. 変数を設定したい個人アカウントまたはチームを選択します。
    設定ドロップダウンの画像
  3. In the menu on the left, under Pipelines, select Account variables.

リポジトリ変数

Variables added at the repository level can be accessed by any user with the push permission in the repository. These variables override team variables.

You can manage repository variables in Settings > Pipelines > Repository variables

デプロイ変数

You can define variables so that they can only be used in a specific deployment environment. Deployment variables override both team and repository variables, and are unique to each environment.

Steps:

To manage deployment variables go to  Settings > Pipelines > Deployments.

You can also restrict deployment to certain branches or for admins only. If you do, only people with permission to deploy can use these deployment variables.

保護された変数

変数は保護することができます。保護した変数はスクリプトで使用できますが、その値はビルド ログでは非表示になります (以下の例を参照してください)。保護された変数を編集したい場合、新しい値を指定するか削除する必要があります。保護された変数は、暗号化された値として保存されます。変数を保護するには、南京錠のアイコンをクリックします。

保護を設定する南京錠のイメージ

保護された変数のマスキング

Pipelines masks secure variables so they are not shown to your team members viewing build logs. If a value matching a secured variable appears in the logs, Pipelines will replace it with $VARIABLE_NAME.

これにより、保護された変数が正常に機能しているかどうかが一見してわかりづらくなる可能性があります。次のような例で説明します。

First, we have created a secure variable, MY_HIDDEN_NUMBER, with a value of 5.

Then we used this bitbucket-pipelines.yml file:

pipelines:
  default:
    - step:
        script:
          - expr 10 / $MY_HIDDEN_NUMBER
          - echo $MY_HIDDEN_NUMBER

The value of the variable can be used by the script, but will not be revealed in the logs. It is replaced with the name of the variable, $MY_HIDDEN_NUMBER.

保護されている変数を使用するログの例

: 出力の生成方法に関わらず、ログ ファイルに保護された変数の値が出力される場合、それらはすべて Pipelines によってマスクされます。

保護された変数の値を一般的な用語に設定している場合、それがログ ファイルに表示される際には必ず変数名で置き換えられます。保護された変数は一意の認証トークンやパスワードで使用するために設計されているため、クリア テキストで使用される用語と重複する可能性は考慮されていません。

また Pipelines は、URL で変数を使用する際にそれらが表示されるのを防ぐため、変数の値について、複数の基本的なエンコーディング (URL エンコーディングなど) の照合を行います。

Add variables for manual pipelines

Sometimes it's useful to add or update variables when you run a custom pipeline, for example to give a version number, or a single use value.

前提条件:

  • You will override any repository, or account, variable that has the same name.
  • If you don't enter a value, that variable will be empty (that is, it will have the value "").
  • The values are temporary (you cannot rerun the pipeline, and it won't permanently change existing variables).
  • These variables are not secured, and will show up in logs even if you override a previously secure variable.

Steps:

To enable manual variable updates, define the variables under your custom pipeline that you want to enter at launch:

pipelines:
  custom:
    custom-name-and-region: #name of this pipeline
      - variables:			#list variable names under here
          - name: Username
          - name: Region
      - step: 
          script:
            - echo "User name is $Username"
            - echo "and they are in $Region"

Then, when you run a custom pipeline (Branches > ⋯ > Run pipeline for a branch > Custom:..) you'll be able to fill them in.

picture of custom variable popup ready to fill in

最終更新日 2019 年 7 月 2 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.