Docker Compose를 사용하여 Rails 암호화된 자격 증명

2157 단어 railsdocker
Ruby on Rails 5.2는 간단한 secrets.yml 파일을 제거하고 credentials.yml.enc 로 대체했습니다. 이 파일은 암호화되어 있으므로 버전 관리에 사용하기 쉽습니다. 이 암호화된 파일을 해독하기 위해 버전 제어에 포함되지 않아야 하는 구성 파일에 master.key가 있습니다.

자격 증명 파일 편집



로컬에 설치된 Rails 앱 자격 증명은 다음 명령으로 편집할 수 있습니다.

EDITOR=nano rails credentials:edit

EDITOR는 일부 사람들이 vim 편집기도 좋아하는 것처럼 자격 증명을 편집하는 데 사용할 편집기를 알려줍니다.

Sometimes ui-based editors don’t open this way. As we have to wait for the editor to open.



EDITOR="mate --wait" rails credentials:edit


여러 환경



Rails 6은 서로 다른 Rails 환경에서 여러 파일을 허용했습니다. 예를 들어 환경의 종속성 없이 config/credentials.yml.enc 에 저장됩니다. 단, 개발 환경에 따라 다른 변수는 config/credentials/development.yml.enc에 저장되고 키config/credentials/development.key로 복호화됩니다.

따라서 개발을 위한 편집은 다음과 같이 호출할 수 있습니다.

EDITOR=nano rails credentials:edit --environment development


자세한 내용은 다음을 방문하십시오. https://blog.saeloun.com/2019/10/10/rails-6-adds-support-for-multi-environment-credentials.html

docker compose에서 자격 증명 편집 호출



rails가 로컬로 설치되지 않고 컨테이너 내부에 있는 경우 컨테이너 내부에서 cli 메서드를 호출하는 것은 약간 다릅니다. 다음 명령을 사용하여 자격 증명을 업데이트합니다.

docker-compose run --rm -e EDITOR=nano api rails credentials:edit


여기서 api는 docker compose로 만든 컨테이너 이름입니다. 또한 --rm는 run이 컨테이너의 복사본을 생성하므로 컨테이너 볼륨이 닫힌 후 제거되기 때문에 사용됩니다.

행복한 코딩!

좋은 웹페이지 즐겨찾기