Github Action을 통해 Flask의 유닛 테스트를 시도하는 도중 config.py에서 'DATABASE_URL'키의 값을 찾을 수 없다는 KeyError가 아래와 같이 발생되었다.
.env 파일은 주로 API_KEY와 같은 민감한 정보를 담고 있는 환경 변수를 포함하고 있어서 보안 문제로 Github에 업로드를 하지 않지만, 테스트를 위해 업로드를 해야한다. Github Repository의 Actions Secret에는 환경 변수를 암호화해서 저장해놓고, Action에서 환경변수를 가져와서 사용할 수 있게 해준다.
Github Action을 돌리는 Github 레포의 Secrets에 필요한 환경변수를 저장하고, Github Action의 해당 yaml 파일에 적용시킨다.
Github Action .yaml 파일 안에 pip env를 세팅하고 Install requirements를 하는 과정 중간에 환경 변수 파일을 생성하는 과정을 추가한다. 해당 과정 안에 echo "{환경 변수 키 값}=${환경 변수 이름}" >> .env 의 방식으로 run: 안에 추가한다. env: 아래에 {환경 변수 키 값}: ${{secrets.등록한 환경 변수 이름}}을 추가한다.
[Github Action] Test 시 환경 변수 파일 처리
Github Action을 통해 Flask의 유닛 테스트를 시도하는 도중 config.py에서 'DATABASE_URL'키의 값을 찾을 수 없다는 KeyError가 아래와 같이 발생되었다.
.env 파일은 주로 API_KEY와 같은 민감한 정보를 담고 있는 환경 변수를 포함하고 있어서 보안 문제로 Github에 업로드를 하지 않지만, 테스트를 위해 업로드를 해야한다. Github Repository의 Actions Secret에는 환경 변수를 암호화해서 저장해놓고, Action에서 환경변수를 가져와서 사용할 수 있게 해준다.
Github Action을 돌리는 Github 레포의 Secrets에 필요한 환경변수를 저장하고, Github Action의 해당 yaml 파일에 적용시킨다.
Github Action .yaml 파일 안에 pip env를 세팅하고 Install requirements를 하는 과정 중간에 환경 변수 파일을 생성하는 과정을 추가한다. 해당 과정 안에 echo "{환경 변수 키 값}=${환경 변수 이름}" >> .env 의 방식으로 run: 안에 추가한다. env: 아래에 {환경 변수 키 값}: ${{secrets.등록한 환경 변수 이름}}을 추가한다.
'개발 > Flask' 카테고리의 다른 글