GitLab CI | GitLab CI のビルドスクリプト内で使用可能な環境変数について
概要
GitLab CI のビルドスクリプト内で使用可能な環境変数について。
デフォルトでは、GitLab CIはすべてのPushに対してビルドスクリプトを実行します。
ケースに応じたビルドの実行をするにはビルドスクリプト内でブランチ名などを判別する必要があります。
その際に、GitLab CIが用意している環境変数を利用します。
一覧
変数名 | 内容 |
---|---|
$CI_SERVER | CIサーバーかどうか? |
$CI_SERVER_NAME | CIサーバー名 |
$CI_SERVER_VERSION | CIサーバーのバージョン => nil |
$CI_SERVER_REVISION | CIサーバーのリビジョン => nil |
$CI_BUILD_REF | pushしたcommitのリビジョン番号(SHA-1) |
$CI_BUILD_BEFORE_SHA | pushしたcommitの前のリビジョン番号(SHA-1) |
$CI_BUILD_REF_NAME | pushしたブランチ名 |
$CI_BUILD_ID | ビルド番号 |
サンプル
Build Script に下記を設定。
branch 「hoge」 で git push を実行しました。
echo '@@@@@@@@@@@@@@@'
echo $CI_SERVER
echo $CI_SERVER_NAME
echo $CI_SERVER_VERSION
echo $CI_SERVER_REVISION
echo $CI_BUILD_REF
echo $CI_BUILD_BEFORE_SHA
echo $CI_BUILD_REF_NAME
echo $CI_BUILD_ID
echo '@@@@@@@@@@@@@@@'
出力メッセージは以下(GitLab CIのビルドログより)
echo '@@@@@@@@@@@@@@@'
@@@@@@@@@@@@@@@
echo $CI_SERVER
yes
echo $CI_SERVER_NAME
GitLab CI
echo $CI_SERVER_VERSION
echo $CI_SERVER_REVISION
echo $CI_BUILD_REF
ce3c575ec3243382d75c81597eae378ef306e0fc
echo $CI_BUILD_BEFORE_SHA
a59657194759ee67190d06eee2a1e5cf84ee986e
echo $CI_BUILD_REF_NAME
hoge
echo $CI_BUILD_ID
17
echo '@@@@@@@@@@@@@@@'
@@@@@@@@@@@@@@@
GitLab CI Runner内のソースコードを確認
build.rb
@process.environment['CI_SERVER'] = 'yes'
@process.environment['CI_SERVER_NAME'] = 'GitLab CI'
@process.environment['CI_SERVER_VERSION'] = nil# GitlabCi::Version
@process.environment['CI_SERVER_REVISION'] = nil# GitlabCi::Revision
@process.environment['CI_BUILD_REF'] = @ref
@process.environment['CI_BUILD_BEFORE_SHA'] = @before_sha
@process.environment['CI_BUILD_REF_NAME'] = @ref_name
@process.environment['CI_BUILD_ID'] = @id
CI_SERVER_VERSION, CI_SERVER_REVISIONは今のところ nil にしている模様。
参照