New Relic Ruby 에이전트 를 사용하면 Ruby 에이전트와 함께 배포되는 REST API 또는 Capistrano 레시피(버전 2.x 및 3.x)를 사용하여 애플리케이션 배포에 대한 정보를 보낼 수 있습니다. 그런 다음 New Relic UI에서 배포를 볼 수 있습니다. 기본적으로 모든 배포 정보는 프로덕션 환경에 기록됩니다. 스테이징과 같은 다른 환경에 대해 rails_env
변수를 사용자 지정할 수도 있습니다.
애플리케이션 이름 할당
애플리케이션 이름을 지정하려면:
이렇게 하면 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로 녹음
New Relic 에이전트를 사용하여 Capistrano 2.x 배포를 기록할 수 있습니다.
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 구성 사용자 지정
Capistrano가 원격 빌드 머신에서 배포 공지 레시피를 실행 중인 경우 빌드 머신 must 에는 가 있습니다. 유효한 newrelic.yml
파일을 빌드 시스템에 복사하거나(Capistrano Before Hook 사용 가능) Capistrano 설정에서 set :newrelic_license_key, 'YOUR_LICENSE_KEY'
호출할 수 있습니다.
Capistrano 변수를 사용하여 일부 배포 정보를 사용자 지정할 수 있습니다. 정의된 경우 기본값을 재정의합니다. 이는 Capistrano 2와 3 모두에 적용됩니다.
Capistrano 2 및 3 변수 | 설명 |
---|---|
| 배포가 표시될 앱입니다. 기본적으로 이는 지정된 명령줄에서 이 값을 설정하면 응용 프로그램 이름을 하나만 지정할 수 있습니다. |
| Capistrano 명령이 실행된 로컬 작업 디렉토리에서 svn/git |
| 배포와 함께 표시되는 설명 텍스트입니다. 기본값은 비어 있습니다. |
| 사용할 뉴렐릭 . 기본적으로 이는 지정된 |
| 배포를 위해 기록된 개정입니다. 권장 사항: Subversion을 사용하는 경우 개정 외에 태그나 분기 이름을 포함하는 것을 고려하세요. |
| 배포와 연결할 사용자입니다. |
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를 사용하는 경우 다음 줄을
|
카피스트라노 2.x | Capistrano 2.x를 사용하는 경우 명령줄에서 다음 정보를 추가합니다. bash
|