内部者取引

パラメータの設定やエントリーポイントを解説

パラメータの設定やエントリーポイントを解説

Web パッケージ配置のパラメーターを構成する

SetParameters.xml ファイルは、Web アプリケーション プロジェクト ファイルとプロジェクト内のすべての構成ファイルから動的に生成されます。 プロジェクトをビルドしてパッケージ化すると、Web 発行パイプライン (WPP) によって、配置環境間で変更される可能性が高い多くの変数 (宛先 IIS Web アプリケーションやデータベース接続文字列など) が自動的に検出されます。 これらの値は、Web デプロイ パッケージで自動的にパラメーター化され、 SetParameters.xml ファイルに追加されます。 たとえば、Web アプリケーション プロジェクトの web.config ファイルに接続文字列を追加すると、ビルド プロセスによってこの変更が検出され、それに応じて SetParameters.xml ファイルにエントリが追加されます。

多くの場合、この自動パラメーター化で十分です。 ただし、アプリケーション設定やサービス エンドポイント URL など、ユーザーが展開環境間で他の設定を変更する必要がある場合は、WPP に対して、展開パッケージでこれらの値をパラメーター化し、対応するエントリを SetParameters.xml パラメータの設定やエントリーポイントを解説 ファイルに追加するように指示する必要があります。 以下のセクションでは、これを行う方法について説明します。

自動パラメーター化

Web アプリケーションをビルドしてパッケージ化すると、WPP によって次のものが自動的にパラメーター化されます。

  • 宛先 IIS Web アプリケーションのパスと名前。
  • web.config ファイル内のすべての接続文字列。
  • プロジェクト プロパティ ページの パラメータの設定やエントリーポイントを解説 パラメータの設定やエントリーポイントを解説 [パッケージ/発行] SQL タブに追加するすべてのデータベースの接続文字列。

たとえば、パラメーター化プロセスに何も触れることなく Contact Manager サンプル ソリューションをビルドしてパッケージ化する場合、WPP は次の ContactManager.Mvc.SetParameters.xml ファイルを生成します。

  • IIS Web アプリケーション名パラメーターは、Web アプリケーションをデプロイする IIS パスです。 既定値は、プロジェクト プロパティ ページの [パッケージ/発行] Web ページから取得されます。
  • ApplicationServices-Web.config接続文字列パラメーターは、web.config ファイルの connectionStrings/add 要素から生成されました。 これは、アプリケーションがメンバーシップ データベースに接続するために使用する接続文字列を表します。 ここで指定した値は、デプロイされた web.config ファイルに置き換えられる予定です。 既定値は、デプロイ前の web.config ファイルから取得されます。

WPP では、生成される展開パッケージ内のこれらのプロパティもパラメーター化されます。 展開パッケージをインストールするときに、これらのプロパティの値を指定できます。 「Web パッケージの手動インストール」の説明に従って IIS マネージャーを使用してパッケージ を手動でインストールすると、インストール ウィザードによって、パラメーターの値を指定するように求められます。 「Web パッケージの配置」の説明に従って .deploy.cmd ファイルを使用してパッケージをリモートでインストールすると、 Web 配置はこの SetParameters.xml ファイルを参照してパラメーター値を指定します。 SetParameters.xml ファイルの値は手動で編集することも、自動化されたビルドと配置プロセスの一環としてファイルをカスタマイズすることもできます。 このプロセスについては、このトピックの後半で詳しく説明します。

カスタム パラメーター化

より複雑な配置シナリオでは、多くの場合、プロジェクトを配置する前に追加のプロパティをパラメーター化する必要があります。 一般に、ターゲット環境によって異なるプロパティと設定をパラメーター化する必要があります。 次のようなものがあります。

  • web.config ファイル内のサービス エンドポイント。
  • web.config ファイルのアプリケーション設定。
  • ユーザーに指定を求めるその他の宣言型プロパティ。

これらのプロパティをパラメーター化する最も簡単な方法は、 web アプリケーション プロジェクトのルート フォルダーにparameters.xmlファイルを追加することです。 たとえば、Contact パラメータの設定やエントリーポイントを解説 パラメータの設定やエントリーポイントを解説 パラメータの設定やエントリーポイントを解説 Manager ソリューションでは、ContactManager.Mvc プロジェクトにルート フォルダーに parameters.xml ファイルが含まれています。

このファイルを開くと、1 つの パラメーター エントリが含まれていることがわかります。 このエントリでは、XML パス言語 (XPath) クエリを使用して、web.config ファイル内の ContactService Windows Communication Foundation (WCF) サービスのエンドポイント URL を見つけてパラメーター化します。

WPP は、展開パッケージ内のエンドポイント URL をパラメーター化するだけでなく、展開パッケージと共に生成される SetParameters.xml ファイルにも対応するエントリを追加します。

展開パッケージを手動でインストールすると、IIS マネージャーによって、自動的にパラメーター化されたプロパティと共にサービス エンドポイント アドレスの入力が求められます。 .deploy.cmd ファイルを実行してデプロイ パッケージをインストールする場合は、SetParameters.xml ファイルを編集して、サービス エンドポイント アドレスの値と、自動的にパラメーター化されたプロパティの値を指定できます。

parameters.xml ファイルを作成する方法の詳細については、「方法: パッケージのインストール時にパラメーターを使用して展開設定を構成する」を参照してください。 Web.config ファイル設定に展開パラメーターを使用するには という名前のプロシージャに、詳細な手順が示されています。

SetParameters.xml ファイルの変更

.deploy.cmd ファイルを実行するか、コマンド ラインからMSDeploy.exeを実行して、Web アプリケーション パッケージを手動でデプロイする場合は、デプロイ前にSetParameters.xml ファイルを手動で編集する必要はありません。 ただし、エンタープライズ規模のソリューションに取り組んでいる場合は、より大規模で自動化されたビルドおよびデプロイ プロセスの一環として、Web アプリケーション パッケージのデプロイが必要になる場合があります。 このシナリオでは、Microsoft Build Engine (パラメータの設定やエントリーポイントを解説 パラメータの設定やエントリーポイントを解説 MSBuild) を使用してSetParameters.xml ファイルを変更する必要があります。 これを行うには、MSBuild XmlPoke タスクを使用します。

サンプル ソリューションのプロジェクト ファイル モデルの概要と、一般的なカスタム プロジェクト ファイルの概要については、「Project ファイルについて」および「ビルド パラメータの設定やエントリーポイントを解説 プロセスについて」を参照してください。

まず、目的のパラメーター値は、環境固有のプロジェクト ファイル ( Env-Dev.proj など) のプロパティとして定義されます。

独自のサーバー環境用に環境固有のプロジェクト ファイルをカスタマイズする方法のガイダンスについては、「 ターゲット環境の配置プロパティの構成」を参照してください。

次に、 Publish.proj ファイルによってこれらのプロパティがインポートされます。 各SetParameters.xml ファイルは .deploy.cmd ファイルに関連付けられているため、最終的にはプロジェクト ファイルで各 .deploy.cmd ファイルを呼び出す必要があるため、プロジェクト ファイルは .deploy.cmd ファイルごとにMSBuild項目を作成し、対象のプロパティを項目メタデータとして定義します。

    パラメータの設定やエントリーポイントを解説
  • ParametersXml メタデータ値は、SetParameters.xml ファイルの場所を示します。
  • IisWebAppName の値は、Web アプリケーションをデプロイする IIS パスです。
  • MembershipDBConnectionString 値はメンバーシップ データベースの接続文字列であり、MembershipDBConnectionName 値はSetParameters.xml ファイル内の対応するパラメーターの名前属性です。
  • ServiceEndpointValue 値は宛先サーバー上の WCF サービスのエンドポイント アドレスであり、ServiceEndpointParamName 値は、SetParameters.xml ファイル内の対応するパラメーターの名前属性です。

最後に、 Publish.proj ファイルの PublishWebPackages パラメータの設定やエントリーポイントを解説 ターゲットは XmlPoke タスクを使用して 、SetParameters.xml ファイル内のこれらの値を変更します。

XmlPoke タスクでは、次の 4 つの属性値が指定されていることがわかります。

  • XmlInputPath 属性は、変更するファイルの場所をタスクに指示します。
  • Query パラメータの設定やエントリーポイントを解説 パラメータの設定やエントリーポイントを解説 属性は、変更する XML ノードを識別する XPath クエリです。
  • Value 属性は、選択した XML ノードに挿入する新しい値です。
  • Condition 属性は、タスクを実行する基準または実行しない条件です。 このような場合、条件により、null または空の値を SetParameters.パラメータの設定やエントリーポイントを解説 パラメータの設定やエントリーポイントを解説 パラメータの設定やエントリーポイントを解説 パラメータの設定やエントリーポイントを解説 xml ファイルに挿入しないようにします。

このトピックでは、 SetParameters.xml ファイルの役割について説明し、Web アプリケーション プロジェクトをビルドするときに生成される方法について説明しました。 プロジェクトに parameters.xml ファイルを追加することで、追加の設定をパラメーター化する方法について説明しました。 また、プロジェクト ファイルで パラメータの設定やエントリーポイントを解説 XmlPoke タスクを使用して、より大規模で自動化されたビルド プロセスの一部として、SetParameters.xml ファイルを変更する方法についても説明しました。

次のトピック「 Web パッケージの展開」では、 .deploy.cmd ファイルを実行するか、MSDeploy.exe コマンドを直接使用して、Web パッケージをデプロイする方法について説明します。 どちらの場合も、デプロイ パラメーターとして SetParameters.xml ファイルを指定できます。

もっと読む

Web パッケージを作成する方法については、「Web アプリケーション プロジェクトのビルドとパッケージ化」を参照してください。 Web パッケージを実際にデプロイする方法のガイダンスについては、「Web パッケージのデプロイ」を参照してください。 parameters.xml ファイルを作成する方法の詳細なチュートリアルについては、「方法: パッケージのインストール時にパラメーターを使用して展開設定を構成する」を参照してください。

LPの分析改善に役立つutmパラメータとは?基礎説明と初期設定を解説

この場合、Google広告に入稿するURLに付与するパラメータは、「utm_source=google」とし、Yahooプロモーション広告に入稿するURLに付与するパラメータは、「utm_source=yahoo」と設定し、各媒体に入稿すれば、後でGoogleアナリティクスなどのアクセス解析ツールで分析する際に、GoogleとYahoo、それぞれの流入元からアクセスがあったユーザーの行動履歴やコンバージョン獲得状況などを流入元単位で分析できるようになります。

どの媒体からのアクセスか?を示す「utm_medium」

どの媒体からのアクセスなのか?を識別するパラメータが「utm_medium=値」 にあたります。先にあげた「utm_source」と混同してしまいがちですが、「utm_medium」では、検索広告の場合は、cpcという値を用いたり、ディスプレイ広告の場合は、displayという値を用いるなど、同じ流入元でもその広告が持つ配信機能・アプローチ手法を細かく識別しているものと捉えましょう。

utmパラメータ組み合わせ例

同じ流入元でもこのように配信機能で分類し、「utm_source=値」と「utm_medium=値」を組み合わせてパラメータを付与していくと、後々分析にするときに便利です。

どの広告からのアクセスか?を示す「utm_content」

URLにパラメーターを付与する場合、「utm_campaign」「utm_source」「utm_medium」の3つのパラメーターは必須の項目になりますが、この「utm_content」は任意のパラメータにあたります。

「utm_content」を利用する場合、例えば検索広告で表示させる広告文のバリエーションを複数用意したり、ディスプレイ広告で配信するバナー広告のバリエーションを複数用意し、どの広告文やバナーが最もリンク先であるランディングページと相性が良いのか?を分析する際に用いるパラメータとなります。その他、記事広告を活用している場合は、記事本文内にランディングページへ誘導するためにテキストリンクやバナー画像を複数箇所に設置しているケースもあるでしょう。

utmパラメータはどのように設定すればよいか?

Campaign URL Builder

使い方はいたって簡単です。この3つの手順で作業を実施するのみです。

(手順1)元のURLを入力

Campaign URL Builder

(手順2)各種パラメータの値を入力

Campaign URL Builder

必須項目にあたる、Campaign Source、Campaign Medium、Campaign Nameにそれぞれ任意の値を入力。入力するとリアルタイムで、下部エリアにパラメータが自動生成されていきます。

ちなみにCampaign Sourceは、「utm_source」、Campaign Mediumは、「utm_medium」、Campaign Nameは、「utm_campaign」のことを指しています。

手順3)生成されたURLをコピー

Campaign URL Builder

最後に、Copy URLをクリックすれば自動でURLがコピーされます。

どちらかといえば、どのようにパラメータの値を命名するかという設計や定義づけの方が重要でしょう。

ケース1)期間限定セールを商品Aと商品Bの2種類で、Googleの検索広告を利用したい場合

utmパラメータ例

utm_sourceは、Google広告を利用することからgoogleに設定、utm_mediumは、検索広告を利用することからcpcに設定、utm_campaignは、winter_sale2020と命名。これは決めの問題で特にルールはありません

ケース2)既存顧客に季節ごとに特定の商品をメールマーケティングで宣伝したい場合

utmパラメータ例

ケース3)同じ商品の宣伝をYahooディスプレイ広告を用いて、バナー広告違いで効果検証を実施したい場合

utmパラメータ例

utmパラメータがあることで何ができるのか?

このようにutmパラメータを活用することで、様々な流入経路からのデータを一元的にGoogleアナリティクスで管理することができるため、例えば、広告代理店に広告運用を一任している場合では、自社のGoogleアナリティクスでそれらのデータを統合的に管理することもでき、進捗管理を行なっていくこともできます。

自社で複数媒体の広告を運用している場合でも、各広告の管理画面を1つずつ横断的にチェックするのは物理的に負荷もかかるため、それらを軽減していく意味合いでもデータを網羅的にGoogleアナリティクスで確認できるメリットもあります。

「utm_campaign」での分析方法例

例えば、ある商品をweb広告を用いてプロモーションする場合と雑誌やチラシ、DMなどのアナログでのプロモーションをする場合、それぞれの施策を「utm_campaign」の値を onlineに該当するものか?それともofflineに該当するものか ?に分けて 整理することができます。

utm_campaign onlineとofflineの違い

Googleアナリティクスでは、集客 > キャンペーン > すべてのキャンペーンを選ぶと、下記のようにonlineでの施策とofflineでの施策が自社サイトにおいてどれだけ数字に貢献しているか?を分類して分析することもできるようになります。

Googleアナリティクス出力例

「utm_source」と「utm_medium」での分析方法例

例えば、Google検索広告、リマーケティング広告、Yahooの検索広告、ディスプレイ広告を同時に運用している場合、検索広告のみのパフォーマンスをGoogleとYahooの流入元で比較検証したいという場合もあるでしょう。この場合、Googleアナリティクスの場合では、集客 > すべてのトラフィック > 参照元/メディア の画面で、まとめて分析することが可能になります。

Googleアナリティクス出力例

utmパラメータとは?基礎説明まとめ

このようにutmパラメータの役割と活用方法を知ることで、より精度の高い分析が可能となります。

今後、非対面での接触をいかに増やしていくか?を考えると、ランディングページやサイトへユーザーを集めるという施策はこれまで以上に増えていくと思いますが、そこで次に課題になるのが、如何に集めたデータを有効活用し、改善・改良につなげていくか?ということかと思います。

GoogleアナリティクスのUTMパラメーターを活用して、さらに細かな流入数を把握する方法

Google アナリティクスにより、 Webサイト のアクセス解析はWeb マーケティング において日々欠かせないことの一つです。解析できるデータは詳細であるほど、解析結果の精度が高くなり、 マーケティング の成功につながる可能性もアップします。無料で利用できるツールでありながら、優秀な機能が多数ある Google アナリティクスですが、今回紹介するUTMパラメーターを使えば、さらに高度な解析を実現できるのです。

ウェブアクセスデータから顧客獲得のタイミングをつかむ方法とは

ウェブアクセスデータから顧客獲得のタイミングをつかむ方法とは

UTMパラメーターとは

UTMパラメーターとは、 URL の後に付属する文字列のことです。この文字列を 広告 や販促メールなどメディアによって異なるように設定し、データを分けられます。よく通販サイトを見ていると、とても長い URL を目にすることがありますが、このような文字列がパラメーターに該当するものです。

プロモーションの効果測定などのために Google アナリティクスを使っていると、区分して表示してほしい パラメータの設定やエントリーポイントを解説 セッション が1つに集約されてしまい、分析に困ってしまう場合があります。UTMパラメーターは通常の URL の後にパラメータという文字列を付与し識別できるようにすることで、 Google アナリティクスの表示を詳細にするものです。UTMパラメーターは Google アナリティクスでは、カスタム キャンペーン と言われています。

以下が URL パラメーターの例です。ホーム ページ の パラメータの設定やエントリーポイントを解説 URL の後に、「sample_promotion2020」というプロモーションにおける「Yahoo」の「display( ディスプレイ 広告 )」であることを示しています。

例えば、Yahoo!プロモーション 広告 によるデータは、 Google アナリティクスと連動して詳細な記録ができる Google 広告 と違って 広告 経由の セッション であることが明示されません。このようなときに、UTMパラメーターを設定することで、Yahoo!の ディスプレイ 広告 として Google アナリティクスに表示できるのです。

また、分譲マンションのチラシにQRコードを印刷し、ターゲットとなる賃貸マンションにポスティングを行うとします。このような場合も、チラシに印刷されているQRコードを使ってホーム ページ にアクセスした人をカウントできるのです。数種類のチラシを作って効果検証を行う場合は、QRコードを分けてそれぞれに異なるUTMパラメーターを設定しておけば、どのチラシが効果的だったのかデータを Google アナリティクスにより明確に把握できます。

URL URLとは、「Uniform Resource Locator」の略称です。情報がどこにあるのかを示すインターネット上の住所のようなものだと考えるとわかりやすいでしょう。各ページのURLは、インターネットブラウザの上部に文字列として表示されています。日本語では「統一資源位置指定子」という名称がついていますが、実際には日本でもURLという語が使われています。

「command line parameter」を日本語に翻訳する

For the Storage Node attribute, specify the primary NetWorker server hostname if -M is provided as a command line parameter, which performs a backup to a non-NDMP device.

Obviously, a more robust application would take a command line parameter or read from a configuration file or do some other clever パラメータの設定やエントリーポイントを解説 thing.

If you don't have one already, closing the application and re-opening it パラメータの設定やエントリーポイントを解説 with the command line parameter -console should create the console.

There is an additional command line parameter available in the Performance Management Architect Batch Client: -G. This パラメータの設定やエントリーポイントを解説 command allows you to specify the language to use. The format is -Gx where x is one of the following

Performance Management Architectバッチ・クライアントでは、-Gというコマンド・ライン・パラメータも使用できます。このコマンドを使用すると、使用する言語を指定できます。フォーマットは-Gxであり、xは次のいずれかの値です:

The script accepts a path as パラメータの設定やエントリーポイントを解説 a command line parameter which can be the absolute path to an Interactive Reporting document, to revert it to its pre-9.3 release format, or to a folder that contains Interactive Reporting documents, to revert them to their pre-9.3 release パラメータの設定やエントリーポイントを解説 format.

スクリプトは、コマンド・ライン・パラメータとしてパスを受け入れます。ここでは、Interactive Reportingドキュメントへの絶対パスを指定して、それをその9.3より前のリリースのフォーマットに戻すか、または複数のInteractive Reportingドキュメントを含むフォルダへの絶対パスを指定して、それらを9.3より前のリリースのフォーマットに戻します。

Rather than modifying you primary configuration, you can create a shortcut to execute the RAD Studio IDE with the -r command line パラメータの設定やエントリーポイントを解説 パラメータの設定やエントリーポイントを解説 parameter followed by a symbol, using a command line like the following to パラメータの設定やエントリーポイントを解説 create a setting called "lean": "BDS.EXE -rlean" This will create a brand new パラメータの設定やエントリーポイントを解説 パラメータの設定やエントリーポイントを解説 configuration for the IDE in the registry, separate from your standard configuration.

主に使用している構成を変更するのではなく、コマンドラインパラメータ パラメータの設定やエントリーポイントを解説 -r にシンボルを指定して、RAD StudioのIDEを実行するショートカットを作成することができます。 leanという名前の設定を作成するには、次のようなコマンドラインを使用します: BDS.EXE -rlean これにより、標準の構成とは別に、レジストリ内にIDE向けのまったく新しい構成が作成されます。

環境変数の使用

非公開のプロジェクト全体で使用するプライベートキーまたはシークレット環境変数を追加するには、CircleCI アプリケーションで[Project Settings (プロジェクト設定)] の [Environment Variables (環境変数)] のページに移動します。 設定された後の変数の値は、アプリで読み取ることも編集することもできません。 環境変数の値を変更するには、現在の変数を削除し、新しい値を設定して再度追加します。

[環境変数へのアクセスをさらに制限する]には、コンテキストを使用してください。 CircleCI アプリケーションの [Organization Settings (組織設定)] で設定します。 コンテキストを使用して環境変数へのアクセスを制御する方法について、詳細は「コンテキストの制限」を参照してください。

シークレットのマスキング

シークレットのマスキングは、オンプレミス版である パラメータの設定やエントリーポイントを解説 CircleCI Server では現在サポートされていません。

シークレットのマスキングは、[Project Settings (プロジェクト設定)] または [Contexts (コンテキスト)] で設定されている環境変数に適用されます。 環境変数は、プロジェクトのシークレットやキーを保持します。 シークレットやキーはアプリケーションにとってきわめて重要なものです。 シークレットのマスキングは、 echo や print が使用される際にジョブ出力における環境変数を不明瞭にすることで、CircleCI のセキュリティを強化します。

  • 環境変数の値が 4 文字未満
  • 環境変数の値が true 、 True 、 パラメータの設定やエントリーポイントを解説 false 、 False のいずれか

注: シークレットのマスキングは、ビルドの出力で環境変数の値が表示されないようにするだけの機能です。 -x や -o xtrace オプションを使ってバッシュシェルを呼び出すとマスキングされていないシークレットが誤ってログに記録される場合があります (シェルスクリプトの使用を参照してください)。

別の場所 (テスト結果やアーティファクトなど)に出力される場合、シークレットはマスキングされません。 コンテキストの値には、SSH を使用したデバッグを行うユーザーがアクセスできます。

組織とリポジトリの名前変更

過去に CircleCI に接続した組織やリポジトリの名前を変更する場合は、以下の手順を参考にしてください。

  1. VCS で組織またはリポジトリの名前を変更します。
  2. 新しい組織またはリポジトリの名前を使用して CircleCI アプリケーションにアクセスします (例: app.circleci.com/pipelines/// )。
  3. プラン、プロジェクト、設定が正常に転送されたことを確認します。
  4. これで、必要に応じて VCS の古い名前で新しい組織やリポジトリを作成できます。

注: この手順を実行しないと、環境変数コンテキストなど、組織またはリポジトリの設定にアクセスできなくなる可能性があります。

環境変数の使用オプション

CircleCI は Bash を使用しますが、ここでは POSIX 命名規則に従った環境変数が使用されます。 大文字・小文字のアルファベット、数字、アンダースコアが使用でき、 環境変数の頭文字はアルファベットとします。

  1. FOO=bar make install など、 run ステップのシェル コマンドで宣言された環境変数
  2. run ステップで environment キーを使用して宣言された環境変数
  3. ジョブで environment キーを使用して設定された環境変数
  4. このドキュメントの「CircleCI 定義済み環境変数」セクションで解説されている特別な CircleCI 環境変数
  5. コンテキスト環境変数 (ユーザーがコンテキストへのアクセス権を持つ場合)。 手順については、コンテキストに関するドキュメントを参照してください。
  6. [Project Settings (プロジェクト設定)パラメータの設定やエントリーポイントを解説 パラメータの設定やエントリーポイントを解説 ] ページで設定されたプロジェクトレベルの環境変数

FOO=bar make install のように、 run ステップのシェルコマンド内で宣言された環境変数は、 environment キーおよび contexts キーを使用して宣言された環境変数よりも優先されます。 [Contexts (コンテキスト)] パラメータの設定やエントリーポイントを解説 ページで追加された環境変数は、[Project Settings (プロジェクト設定)] ページで追加された変数よりも優先されます。

環境変数の優先順位

セキュリティに関する注意事項

.circleci/config.yml ファイル内にシークレットやキーを追加しないでください。 CircleCI 上のプロジェクトにアクセスできる開発者には、 config.yml の全文が表示されます。 シークレットやキーは、CircleCI アプリのプロジェクトやコンテキストの設定に保存します。 詳細については、セキュリティに関するドキュメントの「暗号化」セクションを参照してください。

環境変数の設定例

以下のような config.yml を例に考えてみましょう。

この config.yml では以下が行われます。

  • カスタム環境変数の設定
  • CircleCI が提供する定義済み環境変数 ( CIRCLE_BRANCH ) の読み取り
  • config.yml での変数の使用 (または挿入)
  • プロジェクトまたはコンテキストで設定される環境変数に適用されるシークレットのマスキング

この設定ファイルを実行すると、下図のように出力されます。 プロジェクトに格納されている環境変数がマスキングされ、 **** と表示されていることに注目してください。

環境変数の挿入例

上の設定ファイルと出力には、「今いるブランチを表示」という 2 つの類似するステップが含まれています。 これらのステップは、環境変数を読み取るための 2 つの方法を示しています。 なお、 $ 構文と $VAR 構文がどちらもサポートされています。 シェル パラメーターの展開については、Bash のドキュメントを参照してください。

パラメーターと Bash 環境の使用

原則として、CircleCI はビルド設定への環境変数の挿入をサポートしていません。 使用する値はリテラルとして扱われます。 そのため、 working_directory を定義するときや、 PATH を変更するとき、複数の run ステップで変数を共有するときに、問題が発生する可能性があります。

ただし、プライベート イメージをサポートするため、Docker イメージ セクションは例外となっています。

以下の例では、 $ORGNAME と $REPONAME に挿入は行われません。

version: 2.1 の設定ファイルを使用すると、 config.yml 全体の設定の一部を再利用できます。 以下のように parameters 宣言を使用することで、再利用可能な commands jobs や executors に挿入を行う (値を渡す) ことができます。

設定ファイルに値を挿入する方法として、以下のように、 run ステップを使用して環境変数を BASH_ENV にエクスポートすることもできます。

各ステップで、CircleCI は bash を使用して BASH_ENV を取得します。 つまり、 BASH_ENV が自動的にロードおよび実行されることで、挿入を使用して複数の パラメータの設定やエントリーポイントを解説 run ステップで環境変数を共有できるようになります。

注: この $BASH_ENV による回避策は bash でのみ機能します。 他のシェルではおそらく機能しません。

Alpine Linux

Alpine Linux ベースのイメージ (Docker パラメータの設定やエントリーポイントを解説 パラメータの設定やエントリーポイントを解説 など) は ash シェルを使用します。

以下の 2 つのパラメーターをジョブに追加するだけで、 bash で環境変数を使用できます。

シェル コマンドでの環境変数の設定

CircleCI は環境変数の設定時の挿入をサポートしませんが、 BASH_ENV を使用して、現在のシェルに変数を設定することは可能です。 これは、 PATH を変更するときや、他の変数を参照する環境変数を設定するときに便利です。

注: シェルによっては、 ~/.tcshrc や ~/.zshrc などのシェル スタートアップ ファイルに新しい変数を付加しなければならない場合があります。

ステップでの環境変数の設定

注: 各 run ステップは新しいシェルなので、環境変数はステップ間で共有されません。 複数のステップで環境変数にアクセスできるようにする必要がある場合は、 BASH_ENV を使用して値をエクスポートします。

ジョブでの環境変数の設定

1 つのジョブで環境変数を設定するには、 environment キーを使用します。

注: 7 桁以上の整数は指数表記に変換されます。 これを回避するには、整数を文字列として格納してください (例: “1234567”)。

コンテキストでの環境変数の設定

CircleCI Web アプリで、左のナビゲーションにあるリンクをクリックして、[Organization Settings (組織の設定)] に移動します。

コンテキスト

プロジェクトでの環境変数の設定

CircleCI Web アプリで、プロジェクトの設定に移動します。 以下の 2 つの方法があります。: サイドナビゲーションのProjects に移動し、プロジェクトの行の省略符号ボタンをクリックするか、プロジェクトの各Pipelines のページの Project Settings ボタンをクリックします。

環境変数

コンテナでの環境変数の設定

環境変数は Docker コンテナにも設定することができます。 設定するには、 environment キーを使用します。

注:この方法で設定する環境変数は、コンテナ内で実行されるステップでは使用できません。 これらを使用できるのは、コンテナによって実行されるエントリポイントとコマンドのみです。 CircleCI のデフォルトでは、ジョブのプライマリ コンテナのエントリポイントは無視されます。 プライマリコンテナの環境変数を利用可能にするには、エントリポイントを保持する必要があります。 詳細については、カスタム ビルドの Docker イメージの使用ページの_エントリポイントの追加_セクションを参照してください。

以下に、プライマリ コンテナ イメージ (最初にリストされたイメージ) とセカンダリ サービス コンテナ イメージに別々の環境変数を設定する例を示します。

複数行にわたる環境変数のエンコード

複数行の環境変数を追加する際に問題が発生した場合は、 base64 を使用してエンコードします。

結果の値を パラメータの設定やエントリーポイントを解説 パラメータの設定やエントリーポイントを解説 CircleCI 環境変数に格納します。

注: すべてのコマンドラインプログラムが docker と同じ方法で認証情報を受け取るわけではありません。

API v2 を使用した環境変数の挿入

CircleCI API v2 を使用すると、パイプライン パラメーターから変数を渡すことができます。

パイプラインをトリガーする API v2 エンドポイントを使用すると、特定のパラメーターの値でパイプラインをトリガーすることができます。 これを実行するには、 POST 本体の JSON パケット内で parameters キーを渡します。

下の例では、上記の設定ファイルの例で説明したパラメーターを使用して、パイプラインをトリガーしています (メモ: API からパイプラインをトリガーするときにパラメーターを渡すには、設定ファイルでパラメーターを宣言している必要があります)。

重要: パラメータの設定やエントリーポイントを解説 パラメータの設定やエントリーポイントを解説 パイプラインパラメーターは機密データとして扱われないため、機密の値 (シークレット) には使用しないでください。 シークレットは、プロジェクト設定ページとコンテキスト ページで確認できます。

API v1 を使用した環境変数の挿入

  • 使用できるのは ASCII 文字、数字、アンダースコア文字のみです
  • 先頭に数字を使用することはできません
  • 少なくとも 1 文字を含む必要があります

環境変数における通常の制約の他に、変数値自体に注意すべきところはありません。単純な文字列として扱われるところも変わりありません。 ビルド パラメーターがロードされる順序は保証されないため、ビルド パラメーターに値を挿入して別のビルド パラメーターに渡すことは避けてください。 順不同の独立した環境変数リストとしてビルドパラメータを設定するのがおすすめです。

重要: ビルド パラメーターは機密データとして扱われないため、機密の値 (シークレット) には使用しないでください。 シークレットは、プロジェクト設定ページとコンテキスト ページで確認できます。

ビルドパラメータは各ジョブのコンテナ内で環境変数としてエクスポートされ、 config.yml のスクリプトやプログラム、コマンドで使われることになります。 代入された環境変数はジョブ内のステップの実行内容を変えるのに使われることもあります。 ここで念頭に置いておかなければいけないのは、代入された環境変数は config.yml で定義されたものでも、プロジェクトの設定で定義されたものでも、上書きできないことです。

連続的に異なるターゲット OS で機能テストを行うのに、 build_parameters キーに環境変数を代入したくなるかもしれません。 例えば、複数の異なるホストに対して機能テストが必要なステージング環境へのデプロイを実行するような場合です。 下記の例のように、 bash と curl を組み合わせ (開発言語にあらかじめ用意されている HTTP ライブラリを使ってもかまいません)、 Content-type: application/json として JSON フォーマットでデータ送信する形で build_parameters を含ませることが可能です。

ここで使われている $CIRCLE_TOKEN は パーソナル API トークンです。

POST API 呼び出しを使用して実行を開始します。 詳細については、API ドキュメントで新しいビルドのセクションを参照してください。 パラメータなしで POST リクエストした場合は名前付きブランチが新規で実行されます。

定義済み環境変数

パラメータの設定やエントリーポイントを解説 パラメータの設定やエントリーポイントを解説
変数 タイプ
CI ブール値型 true (現在の環境が CI 環境かどうかを表します)パラメータの設定やエントリーポイントを解説 パラメータの設定やエントリーポイントを解説
CIRCLECI ブール値型 true (現在の環境が CircleCI 環境かどうかを表します)。
CIRCLE_BRANCH 文字列型 現在ビルド中の Git ブランチの名前。
CIRCLE_BUILD_NUM 整数型 現在のジョブの番号。 この番号はジョブごとに一意です。
CIRCLE_BUILD_URL 文字列型 CircleCI での現在のジョブの URL
CIRCLE_JOB 文字列型 現在のジョブの名前。
CIRCLE_NODE_INDEX 整数型 (並列実行を有効化してジョブを実行する場合) パラメータの設定やエントリーポイントを解説 パラメータの設定やエントリーポイントを解説 並列実行の現在のインデックスです。 0 から “ CIRCLE_NODE_TOTAL - 1” までの値を取ります。
CIRCLE_NODE_TOTAL 整数型 (並列実行を有効化してジョブを実行する場合) 並列実行の総数です。 設定ファイルの parallelism の値と等しくなります。
CIRCLE_OIDC_TOKEN 文字列型 CircleCI が署名した OpenID Connect トークン。現在のジョブの詳細情報を含みます。 コンテキストを使用しているジョブで使用可能です。
CIRCLE_PR_NUMBER 整数型 関連付けられた GitHub または Bitbucket プル リクエストの番号。 フォークしたプルリクエストのみで使用可能です。
CIRCLE_PR_REPONAME 文字列型 プル リクエストが作成された GitHub または Bitbucket リポジトリの名前。 フォークしたプルリクエストのみで使用可能です。
CIRCLE_PR_USERNAME 文字列型 プル パラメータの設定やエントリーポイントを解説 パラメータの設定やエントリーポイントを解説 リクエストを作成したユーザーの GitHub または Bitbucket ユーザー名。 フォークしたプルリクエストのみで使用可能です。
CIRCLE_PREVIOUS_BUILD_NUM 整数型 現在のブランチのこれまでのビルドの数。 注: この変数はランナー Executor には設定されません。
CIRCLE_PROJECT_REPONAME 文字列型 現在のプロジェクトのリポジトリの名前。
CIRCLE_PROJECT_USERNAME 文字列型 現在のプロジェクトの GitHub または Bitbucket ユーザー名。
CIRCLE_PULL_REQUEST 文字列型 関連付けられたプル リクエストの URL。 ひも付けられたプルリクエストが複数ある時は、そのうちの 1 つがランダムで選ばれます。
CIRCLE_PULL_REQUESTS リスト 現在のビルドに関連付けられたプル リクエストの URL の一覧 (カンマ区切り)。
CIRCLE_REPOSITORY_URL 文字列型 GitHub または Bitbucket リポジトリ URL。
CIRCLE_SHA1 文字列型 現在のビルドの前回のコミットの SHA1 ハッシュ。
CIRCLE_TAG文字列型 git タグの名前 (現在のビルドがタグ付けされている場合)。 詳しくは Git タグを使ったジョブの実行を参照してください。
CIRCLE_USERNAME 文字列型 パイプラインをトリガーしたユーザーの GitHub または Bitbucket ユーザー名 (そのユーザーが CircleCI のアカウントを持っている場合のみ)
CIRCLE_WORKFLOW_ID 文字列型 現在のジョブのワークフロー インスタンスの一意の識別子。 この ID は Workflow インスタンス内のすべてのジョブで同一となります。
CIRCLE_WORKFLOW_JOB_ID 文字列型 現在のジョブの一意の識別子。
CIRCLE_WORKFLOW_WORKSPACE_ID 文字列型 現在のジョブのワークスペースの識別子。 この識別子は、特定のワークスペース内のすべてのジョブで同じです。
CIRCLE_WORKING_DIRECTORY 文字列型 現在のジョブの working_directory キーの値。
CIRCLE_INTERNAL_TASK_DATA 文字列型 内部用。 ジョブ関連の内部データが格納されるディレクトリ。 データ スキーマは変更される可能性があるため、このディレクトリのコンテンツは文書化されていません。
CIRCLE_COMPARE_URL 文字列型 非推奨。 同じビルドのコミットどうしを比較するための GitHub または Bitbucket URL。 v2 パラメータの設定やエントリーポイントを解説 パラメータの設定やエントリーポイントを解説 以下の設定ファイルで使用可能です。 v2.1 では、この変数に代わり “パイプライン値” が導入されています。

ドキュメントの改善にご協力ください

このガイドは、CircleCI の他のドキュメントと同様にオープンソースであり、GitHub でご利用いただけます。 ご協力いただき、ありがとうございます。

    パラメータの設定やエントリーポイントを解説
  • このページの編集をご提案ください (最初に「コントリビューションガイド」をご覧ください)。
  • ドキュメントの問題点を報告する、またはフィードバックやコメントを送信するには、GitHub で issue を作成してください。
  • CircleCI は、ユーザーの皆様の弊社プラットフォームにおけるエクスペリエンスを向上させる方法を常に模索しています。 フィードバックをお寄せいただける場合は、リサーチコミュニティにご参加ください。

サポートが必要ですか?

CircleCI のサポートエンジニアによる、サービスに関する問題、請求およびアカウントについての質問への対応、設定の構築に関する問題解決のサポートを行っています。 サポートチケットを送信して、CircleCI のサポートエンジニアにお問い合わせください。日本語でお問い合わせいただけます。


CircleCI Documentation by CircleCI is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次
閉じる