github actions로 .env 파일 덮어 쓰기

소개



github actions로 빌드 한 후 지정된 서버에 배포합니다.
.env 파일이 지정된 서버마다 변경됩니다.
secrets에 .env의 내용을 등록하고, 이용하고 싶습니다만, 잘 되지 않고, 시행착오했습니다.

TL;DR



방법 1



.env 내용을 base64 인코딩하고 serects에 등록하고 action 스크립트 내에서 base64 디코딩을 사용합니다.
openssl base64 -A -in .env.xxx -out .env.xxx.base64.txt

이 파일의 내용을 secrets에 등록한다.
      - name: Update .env file
        run: |
          echo "${{secrets.xxxxxx}}" | base64 --decode > .env

참고 문헌 : h tps : // s t c ゔ ぇ rf ぉ w. 코m/아/64452700

방법 2



암호화하여 리포지토리에 저장하고 복합하는 키를 secrets에 넣어 이용한다.

공식 문서에 있습니다만, Secrets 자체가 리포지토리로 100건, 사이즈가 64KB등 제한이 있습니다. 이것의 대안으로서, 비밀 정보를 암호화해 리포지토리에 보존을 해 이용하는 방법입니다.



요약



번거로운 방법 1과 방법 2 모두 .env 파일을 인코딩 OR 암호화하는 번거로움이 있으므로 변하지 않습니다.
암호화 된 파일에서도 저장소에 등록하는 것이 정신 위생상 좋지 않기 때문에 방법 1을 좋아합니까?

다만, 방법 1이라고 오리지널의 .env 파일이 secrets안이므로, 배포처를 확인하지 않으면 안 되므로, 방법 2가 좋다고 사람도 있겠지요.

원시 .env 파일이 등록해도 제대로 사용할 수 없는 이유를 모릅니다.
secrets는, 로그에 남지 않게 처리하기 위해서, 구조화 데이터는 사용하지 않고 주의서가 있으므로, 이 근처가 원인인 생각이 듭니다.

좋은 웹페이지 즐겨찾기