bash script 짜넣기
최근에 토이 프로젝트를 진행하면서 난관에 부딪혔던 상황이 있었다. .env
파일에 필요한 key를 넣고 .gitignore
에 .env
를 추가해버리니 github actions 로 CI/CD 를 했을 때 key가 필요한 부분이 제대로 동작되지 않는 문제였다. 🧐
요약하자면 우리에게 필요한 기능은 main.yml 에서 .env를 생성한 뒤 key 를 .env에 write 하는 것이었다.
방법을 물색해보니 bash script를 main.yml 에 짜넣는 방법을 많이 추천했다.
1)
2)
${{ secrets.API_KEY }}
를 log를 찍으면서 보려고 할 때 encrypt 되어 *** (애스터리스크 세 개)로 보여진다.
사용해보진 않았지만 log 에서 decrypt 된 secret 키를 보고싶다할 때 꼼수가 있다고 한다. 이는 다음과 같다.
sed 명령어로 . 을 & 로 바꾸는 것인데 decrypt 하는 로직을 저런 꼼수로 간단하게 처리할 수 있는 모양이었다. 하지만 이렇게 log 를 찍는 방법은 보안상 좋지 않으니 private 레포에서만 하거나 테스트용으로만 하는 것을 추천했다.
그러나 우린 또 다른 문제점에 맞닥뜨리게 되었다. dotenv 파일에서 key를 읽어오지 못하는 상황이 발생하였다. 이 문제는 결국 해결하지 못한채 다른 방법을 통해 key를 읽어오는 방법을 채택했는데, 나중에 시간이 된다면 저 문제를 해결해보고 싶다.
Sources: