RubyOnRails에서 환경 변수를 사용하는 방법

■영어 기사↓
How to Use Environment Variables in Ruby On Rails

환경 변수란?



각 응용 프로그램에는 외부 서비스에 대한 전자 메일 계정 자격 증명 및 API 키와 같은 구성 설정이 필요합니다. 환경 변수를 사용하여 로컬 구성 설정을 애플리케이션에 전달할 수 있습니다.
Ruby On Rails에서 환경 변수를 사용하는 몇 가지 방법이 있으며 FigaroGem과 같은 gem도 있습니다.
이 기사에서는 local_env.yml 파일을 사용하여 구현 방법을 공유합니다.

환경 변수 파일을 비공개로 유지



GitHub를 사용하여 코드를 저장하고 공유하고 프로젝트가 오픈 소스인 경우 개발자는 누구나 코드에 액세스할 수 있습니다. 개인 정보나 API 키를 일반 사용자와 공유하고 싶지 않은 개인 git 저장소를 사용하여 팀에서 공동 작업하는 경우 로컬 설정이 팀의 모든 구성원에게 적합하지는 않습니다.

local_env.yml 파일 사용:



표준 YAML 파일 형식을 사용하여 각 환경 변수의 키-값 쌍을 포함하는 간단한 파일을 만듭니다.

config/local_env.yml 파일 만들기:
MAIL_USERNAME: 'Your_Username'
MAIL_PASSWORD: 'Your_Password'

.gitignore로 설정
응용 프로그램의 git 저장소를 만든 경우 응용 프로그램의 루트 디렉터리에 .gitignore라는 파일이 포함되어 있어야 합니다.
.gitignore 파일에 다음 줄 추가
/config/local_env.yml

Rails 애플리케이션 파일로 설정
환경 변수를 설정한 후 파일 "local_env.yml"은 "config/application.rb"로 설정해야 합니다.
config/application.rb 파일에 다음 코드 설정
config.before_configuration do
  env_file = File.join(Rails.root, 'config', 'local_env.yml')
  YAML.load(File.open(env_file)).each do |key, value|
    ENV[key.to_s] = value
  end if File.exists?(env_file)
end

위의 코드는 local_env.yml 파일에서 환경 변수를 설정합니다.

코드에 환경 변수 사용
Rails 애플리케이션에서 ENV["MAIL_USERNAME"]를 사용할 수 있습니다.
예:
ActionMailer::Base.smtp_settings = {
    address: "smtp.gmail.com",
    enable_starttls_auto: true,
    port: 587,
    authentication: :plain,
    user_name: ENV["MAIL_USERNAME"],
    password: ENV["MAIL_PASSWORD"],
    openssl_verify_mode: 'none'
    }

코딩을 즐기자!

궁금한 점이 있으시면 연락 주시면 좋겠습니다.

이상입니다. 잘 부탁드립니다.

좋은 웹페이지 즐겨찾기