公開:2025年5月27日
1分で読めます
CI/CD変数の概要、DevSecOpsにおいてCI/CD変数が重要な理由、活用するためのベストプラクティスについてご紹介します。
「GitLab入門」シリーズへようこそ。このシリーズでは新たにGitLabを使い始める方向けに、GitLab DevSecOpsプラットフォームに慣れ親しむために役立つ内容をお届けします。
以前の記事で、GitLab CI/CDについて取り上げました。今回はCI/CD変数の世界をさらに深く掘り下げ、その力を最大限に引き出す方法について説明します。
CI/CD変数とは、GitLab環境内においてさまざまなレベル(プロジェクト、グループ、インスタンスなど)で定義できる動的なキーと値のペアのことです。.gitlab-ci.yml
ファイルで使用できる値のプレースホルダーとして機能するため、パイプラインをカスタマイズしたり、機密情報を安全に保存したりできるほか、CI/CD設定を管理しやすくなります。
CI/CD変数の使用には、以下のような多くのメリットがあります。
GitLabでは、次のようなさまざまなスコープでCI/CD変数を定義し、その可視性と有効範囲を制御できます。
プロジェクトレベルの変数 - 単一のプロジェクト専用の変数で、次のようなプロジェクト固有の設定を保存するのに適しています。
DPROD_DEPLOY_URL
という名前の変数を作成し、https://mywebapp.com
という値を格納します。グループレベルの変数 - グループレベルの変数を作成すると、GitLabグループ内の全プロジェクトで共有されます。次のような複数のプロジェクトに共通する設定がある場合に便利です。
DOCKER_HUB_API_KEY
という名前の変数を作成し、対応するAPIキーの値を格納します。インスタンスレベルの変数 - GitLabインスタンスの全プロジェクトで利用可能な変数です。通常は、次のような組織全体に適用するグローバル設定がある場合に使用します。
DEFAULT_DOCKER_IMAGE
という名前の変数を作成し、ubuntu:latest
という値を格納します。CI/CD変数は以下の手順で定義できます。
API_KEY
)と値を入力します。.gitlab-ci.yml
ファイルでCI/CD変数を使用する方法は簡単です。変数名の前にプレフィックスとして$
を付けるだけです。
deploy_job:
script:
- echo "Deploying to production..."
- curl -H "Authorization: Bearer $API_KEY" https://api.example.com/deploy
GitLabでは、パイプラインでご利用いただけるように、定義済みのCI/CD変数を一式ご用意しています。これらの変数は、現在のパイプラインやジョブ、プロジェクトなどに関する情報を提供します。
その中でも、使用されることの多い定義済み変数をいくつかご紹介します。
$CI_COMMIT_SHA
:現在のパイプラインのコミットSHA。$CI_PROJECT_DIR
:プロジェクトの複製先のディレクトリ。$CI_PIPELINE_ID
:現在のパイプラインのID。$CI_ENVIRONMENT_NAME
:デプロイ先の環境名(該当する場合)。CI/CD変数は、GitLabパイプラインをカスタマイズし、保護するための強力なツールです。変数を使いこなし、各スコープを理解することで、より柔軟で保守しやすく、効率的なワークフローを作成できます。
開発プロジェクトにおいて、GitLabの機能を活用していただくために必要な情報をお届けしました。ご紹介した情報がお役に立てば幸いです。
Duo Enterpriseが搭載されたGitLab Ultimateの60日間無料トライアルに今すぐ申し込んで、CI/CD変数を早速ご利用ください。
「GitLab入門」シリーズのその他の記事もぜひご覧ください。