RubyOnRails에서 환경 변수를 사용하는 방법
4477 단어 보안environment_variables루비Rails
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'
}
코딩을 즐기자!
궁금한 점이 있으시면 연락 주시면 좋겠습니다.
이상입니다. 잘 부탁드립니다.
Reference
이 문제에 관하여(RubyOnRails에서 환경 변수를 사용하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/alokrawat050/items/c68ec9578c12fe5a93a3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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'
}
코딩을 즐기자!
궁금한 점이 있으시면 연락 주시면 좋겠습니다.
이상입니다. 잘 부탁드립니다.
Reference
이 문제에 관하여(RubyOnRails에서 환경 변수를 사용하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/alokrawat050/items/c68ec9578c12fe5a93a3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
MAIL_USERNAME: 'Your_Username'
MAIL_PASSWORD: 'Your_Password'
/config/local_env.yml
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
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'
}
Reference
이 문제에 관하여(RubyOnRails에서 환경 변수를 사용하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/alokrawat050/items/c68ec9578c12fe5a93a3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)