• 로그인지금 시작하기

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

Ruby 에이전트로 배포 기록

New Relic Ruby 에이전트 를 사용하면 Ruby 에이전트와 함께 배포되는 REST API 또는 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 파일을 편집합니다.

  1. Capfile 맨 위에 다음 줄을 추가합니다.

    require 'new_relic/recipes'
  2. deploy.rb 파일에 다음을 포함합니다.

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

Capistrano 2.x로 녹음

New Relic 에이전트를 사용하여 Capistrano 2.x 배포를 기록할 수 있습니다.

  1. Capistrano에게 New Relic의 레시피를 로드하도록 지시:

  2. 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 구성 사용자 지정

Capistrano가 원격 빌드 머신에서 배포 알림 레시피를 실행하는 경우 빌드 머신에 새 유물 라이선스 키있어야 합니다 . 유효한 newrelic.yml 파일을 빌드 머신에 복사하거나(Capistrano Before Hook 사용) Capistrano 구성에서 set :newrelic_license_key, 'YOUR_LICENSE_KEY' 를 호출할 수 있습니다.

Capistrano 변수를 사용하여 일부 배포 정보를 사용자 지정할 수 있습니다. 정의된 경우 기본값을 재정의합니다. 이는 Capistrano 2와 3 모두에 적용됩니다.

Capistrano 2 및 3 변수

설명

newrelic_appname

배포가 표시될 앱입니다. 기본적으로 이는 지정된 rails_env 에 대한 newrelic.yml 파일의 정의에서 가져옵니다.

명령줄에서 이 값을 설정하면 응용 프로그램 이름을 하나만 지정할 수 있습니다. newrelic.yml 에서 이 값을 설정하면 첫 번째 애플리케이션 이름만 사용됩니다.

newrelic_changelog

Capistrano 명령이 실행된 로컬 작업 디렉토리에서 svn/git log 명령을 실행하여 결정되는 변경 로그입니다.

newrelic_desc

배포와 함께 표시되는 설명 텍스트입니다. 기본값은 비어 있습니다.

newrelic_license_key

사용할 New Relic 라이센스 키 입니다. 기본적으로 이는 지정된 rails_env 에 대한 newrelic.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 multistage를 사용하는 경우 다음 줄을 config/deploy/staging.rb 에 추가합니다.

set :rails_env, "staging"

카피스트라노 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.