• ログイン今すぐ開始

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

Rubyエージェントによるデプロイメントの記録

New Relic Ruby エージェントを使用すると、 REST APIまたは Ruby エージェントで配布される Capistrano レシピ (バージョン 2.x および 3.x) を使用して、アプリケーションのデプロイに関する情報を送信できます。その後、New Relic UI でデプロイメントを表示できます。デフォルトでは、すべてのデプロイメント情報が本番環境に記録されます。ステージングなど、他の環境用にrails_env変数をカスタマイズすることもできます。

アプリケーション名の設定

アプリケーション名を割り当てるには

  1. Ruby エージェントの最新版 をダウンロードしてください。
  2. newrelic.ymlファイルのapp_name意味のある名前に設定します。

これにより、指定された環境のインスタンスに、New Relic ユーザー インターフェイスでデータを参照するときにapp_nameで指定されたラベルが割り当てられます。デプロイ アップロード スクリプトは、そのラベルを使用してアプリをデプロイに関連付けます。

ユーザーキーを追加する

オプションで、New Relic REST API v2 を介してデプロイメントを記録できます。これを行うには、 api_keyを使用してユーザー キーをエージェント構成に提供します。この構成が存在する場合、 newrelic deploymentsコマンドは自動的に REST API v2 デプロイメント エンドポイントを使用します。

コマンドラインでの記録

Ruby エージェントを gem としてインストールした場合は、 newrelic実行可能ファイルを使用してデプロイを直接記録できます。

newrelic deployments

お使いの環境によっては、実行する必要があります。

$bundle exec newrelic deployment

newrelicでいくつかのオプションの値を使用できます。descriptionは短いテキストです。

deployments [OPTIONS] [description]
OPTIONS:
-a, --appname=name Set the application name.
-i, --appid=ID Set the application ID
If not provided, will connect to the New Relic collector to get it
Default is app_name setting in newrelic.yml
-e, --environment=name Override the (RAILS|RUBY)_ENV setting
-u, --user=USER Specify the user deploying.
-r, --revision=REV Specify the revision being deployed
-c, --changes Read in a change log from the standard input
-h Print this help

-cオプションを使用すると、変更ログをスクリプトにパイプできます。-cオプションの使用時にパイプしない場合は、 control-Dを選択してファイルの終わり (EOF) を示します。

Capistrano 3.xでの記録

New Relic の Ruby エージェントには、アプリのデプロイメントを記録できる Capistrano レシピが含まれています。アプリ名 を割り当てた後、エージェントと通信するために Capistrano ファイルを編集します。

    • Capfileの先頭に以下の行を追加します。

      require 'new_relic/recipes'
    • deploy.rbファイルに次を含めます。

      after "deploy:updated", "newrelic:notice_deployment"

Capistrano 2.xでの記録 [#capistrano2]

Capistrano 2.x のデプロイメントを New Relic エージェントで記録することができます。

    • CapistranoにNew Relicのレシピを読み込むように指示します。

    • deploy.rbファイルに次のフックを追加します。

      # Notify New Relic of deployments.
      # This goes out even if the deploy fails, sadly.
      after "deploy", "newrelic:notice_deployment"
      after "deploy:migrations", "newrelic:notice_deployment"
      after "deploy:cold", "newrelic:notice_deployment"

次回cap deployを実行すると、エージェントは New Relic にデプロイを通知し、すべての時系列チャートにデプロイ イベントが表示されます。

Capistranoの構成をカスタマイズする [#customizing]

Capistrano がリモート ビルド マシンでデプロイ通知レシピを実行している場合、ビルド マシンにはNew Relic ライセンス キー必要です。有効なnewrelic.ymlファイルをビルド マシンにコピーするか (おそらく Capistrano Before Hookを使用)、Capistrano 構成でset :newrelic_license_key, 'YOUR_LICENSE_KEY'を呼び出すことができます。

Capistranoの変数を使用して、いくつかのデプロイメント情報をカスタマイズできます。定義されている場合、これらはデフォルトを上書きします。これらは、Capistrano 2と3の両方に適用されます。

カピストラーノ2と3の変数

説明

newrelic_appname

デプロイが表示されるアプリ。デフォルトでは、これは指定されたrails_envnewrelic.ymlファイル内の定義から取得されます。

コマンド行からこの値を設定する場合、指定できるアプリケーション名は 1 つだけです。この値をnewrelic.ymlに設定すると、最初のアプリケーション名のみが使用されます。

newrelic_changelog

Capistrano コマンドが発行されたローカル作業ディレクトリから svn/git logコマンドを実行することによって決定される変更ログ。

newrelic_desc

デプロイメントと共に表示される説明テキスト。デフォルトは空です。

newrelic_license_key

使用する New Relicライセンス キー。デフォルトでは、これは指定されたrails_envnewrelic.ymlファイル内の定義から取得されます。これはREST API キーと同じではありません

newrelic_revision

デプロイ時に記録されたリビジョン。 推奨: Subversion を使用している場合は、リビジョンに加えてタグやブランチ名を含めることを検討してください。

newrelic_user

配置に関連付けるユーザーです。

Capistranoの設定を上書きする

Capistrano のどのバージョンでも、 deploy.rbの設定をオーバーライドできます。

set :newrelic_user, "username"

Capistrano 2.xで設定を上書きするには、以下の方法があります。コマンドラインから

cap production deploy -Snewrelic_desc="Deploying beta Krakatau release"

この例では、配置の変更ログに表示される内容を入力します。

set(:newrelic_changelog) do
Capistrano::CLI.ui.ask "Enter a summary of changes: "
end

ステージングへのデプロイ

デフォルトでは、 newrelic_rpm gem には Capistrano タスクが付属しており、本番環境でのすべてのデプロイメントを記録します。別のステージング アプリケーションがある場合は、 rails_env変数の設定を変更して、ステージング デプロイメントが本番アプリではなくステージング アプリに記録されるようにすることができます。

ステージング環境へのデプロイメントを確認するには、Capistranoまたはコマンドラインを使用します。

ステージングへのデプロイ

コメントコメント

キャプストラノマルチステージ

Capistrano マルチステージを使用している場合は、次の行をconfig/deploy/staging.rbに追加します。

set :rails_env, "staging"

Capistrano 2.x

Capistrano 2.xを使用している場合は、コマンドラインからこの情報を追加してください。

cap -s rails_env=staging deployment_task_name
Copyright © 2022 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.