Today I Learned
- GitHub Actions 에서 fork 된 repo로부터 오는 PR에서 환경변수 secret 사용하기
- GitHub Actions에서는 Encrypted Secrets를 지원한다. 외부에 공개되면 안되는 환경변수를 여기에서 세팅하고 사용할 수 있다.
- .yml 파일 내부에서 {{ $secrets.ENV_NAME }} 형식으로 사용할 수 있다.
- PR에서는 기본적으로 현재 merge 하려고하는 source의 GitHub Actions Script를 이용해서 CI를 구동한다.
- develop -> master 일 경우 develop의 .yml을 이용해서 CI가 구동됨
- 위와 같이 source의 스크립트를 사용하기 때문에, 오픈소스 프로젝트와 같은 경우 fork 된 외부 repo에서 PR이 들어올 경우 secrets를 스크립트를 조작해서 빼갈 가능성이 존재한다. 따라서 fork 된 외부 repo로부터 오는 PR은 .yml 파일 안에서 secrets를 접근할 수 없다.
- 이때 PR이 CI에 포함된 테스트 구동을 위해서 secret 변수가 필요하지만 사용이 불가능해진다.
- 이를 해결하기 위해서는 CI 가 trigger되는 action을 pull_request에서 pull_request_target으로 바꾸면 source의 .yml 파일 대신 destination의 .yml을 사용한다. 이 경우에 destination의 .yml은 검증된 CI Workflow이기 때문에 secret에 접근을 허용해준다.
- 결론: 외부 repo에서의 PR에 CI를 적용하기 위해 미리 .yml 파일에 pull_request_target으로 trigger를 설정하고 destination repo에 반영시킨다.
오늘의 느낀점
- 이번주에 백엔드를 주로 작업하면서 진도가 많이 밀렸다는 생각이 들었다. 다른 조들과 데모하기 이전에 괜히 한 것도 없고, 보여줄 것도 없고 부끄럽다는 생각이 들었었다. 하지만 막상 데모를 하러 가보니 다른 조들도 우리와 진도가 비슷해서 나름(?) 위안을 얻을 수 있었다. 역시 협업이라는 것은 힘들고, 또 초보 개발자들이 협업하는 것은 더 어려운 일인 것 같다.
- 나빼고 다른 조원 분들이 오늘 컨디션이 안좋아 보이셨다. 한분은 장염까지 걸리셔서... 너무 무리하시지들 말고 다음주에는 다들 괜찮은 상태이길
- 아침에 여러모로 다음 그룹프로젝트에 대해 고민을 하다가, 결국 다른 기준보다는 가장 재미있고 도전적일 것 같은 주제들로 지망을 적어서 냈다. 오후에 아버지와 이야기를 잠깐 했는데, 기왕 개발자의 길로 바꾸기로 한 김에 너무 취업에 조급해하지 말고 네가 진짜 하고싶은 분야와 회사를 찾아가라는 말을 해주셨다. 요즘 마지막 프로젝트와 기업연계가 가까워지면서 은근히 부담감을 느꼈었는데, 그 말을 들으니 오늘 지원한 프로젝트에 대해 더 자신감이 붙고 더불어서 앞으로도 내가 재미있고, 행복할 수 있는 쪽으로 도전을 해나가야겠다는 생각이 들었다. 큰 결정인데 항상 서포트를 해주셔서 부모님께 감사함을 많이 느낀다.
오늘의 칭찬
- 다음 그룹프로젝트를 내 기준에 따라서 용기를 내고 가장 재미있고, 도전적일 것 같은 주제로 지원했다.
- GitHub CI에 대해 포기하지 않고, 아침에 일어나서 여기저기 찾다가 결국 해결해냈다. 여기저기 찾아봤지만 해결이 힘들었는데 역시 답은 블로그도, stackoverflow도 아닌 GitHub 개발 블로그와 공식 documentation에 있었다.
개선점 & Reminder
- 주말에 Oauth 제대로 공부해오기
- prettier, eslint 자동수정 세팅 해오기 -> 팀원들과 eslint 세팅만 하고 계속 바빠서 미루어두었는데, 계속 작업 효율을 저해하는 것 같으니 주말에 여유있을 때 꼭 세팅해오자
'Boostcamp 2020' 카테고리의 다른 글
부스트캠프 회고 - 그룹프로젝트 3주차 day2 (0) | 2020.11.11 |
---|---|
부스트캠프 회고 - 그룹프로젝트 3주차 day1 (0) | 2020.11.10 |
부스트캠프 회고 - 그룹프로젝트 2주차 day4 (0) | 2020.11.06 |
부스트캠프 회고 - 그룹프로젝트 2주차 day3 (0) | 2020.11.06 |
부스트캠프 회고 - 그룹프로젝트 2주차 day2 (0) | 2020.11.04 |