Github Secrets가 동작하지 않는다구요? 그건 아마도..

송은석·2023년 4월 25일
1

Directors

목록 보기
3/6
post-thumbnail

프로젝트 중 Github Actions를 통해 자동 배포를 구축하면서 Github Secrets를 잘못 사용해서 경험한 실패 사례를 들려드립니다.
🖥️ 이 포스트는 Directors 프로젝트 진행 중 작성되었습니다. 진행 중인 프로젝트를 보고 싶으시다면 => Directors

지난 포스팅에서 이야기한 것처럼, Github Actions를 통해 프로젝트에 대한 CD Pipeline을 구성했습니다.

다른 레포지토리를 사용해 테스트도 어느 정도 해본 상태라, 프로젝트에도 적용해도 괜찮을 거라고 생각했습니다. 그런데..!



👀 문제 발생

아니 이게 무슨 말이야..?
막상 코드를 작성해서 PR을 업로드하니, Github Actions의 워크 플로우에서 위와 같은 에러가 발생했습니다.

다시 살펴보니, docker에 아이디와 패스워드를 통해 로그인해야하는데 Github Secrets를 통해 저장해둔 값들이 불려오지 않아 발생한 문제였습니다.

application.properties 파일 또한 여기서 관리를 했는데, 역시 Secrets를 읽어올 수 없어 파일을 제대로 만들지 못했습니다.


어떻게 해결할 것인가

"문제를 해결하기 위해서는, Secrets를 왜 읽어오지 못하는지에 대한 이유를 알아야만 했습니다."

그래서 Secrets의 데이터를 업데이트 해보기도 하고,

완전히 지운 후 다시 작성하기도 하고,

Repository가 아닌 environment를 설정하여 작성해보기도 했습니다.

다른 개발자 분과 머리를 싸매어 보기도 하고,

구글과 함께 문제를 해결해보려고 하기도 했죠.

(이렇게 분명히 Secrets들을 넣어주었는데 말이예요!)

하지만..

해결 못했습니다😂


그러다가 문득, 권한 문제 때문은 아닐까 하는 생각이 들었습니다.

왜냐면

제가 PR을 날린 Repository는 원본 Repository를 fork한 Repository였거든요.

물론 두 레포(원본 repo와 fork repo) 다 제 계정이 Admin Role을 가지고 있기는 했지만, 만약 fork repo 자체에 대해 Secrets에 대한 접근을 막은 것이라면 제가 어찌할 방도가 없는 것이었죠..


정답은 Repository의 권한 문제😹

그리고 마침 보이는 문구를, 드디어 읽었습니다.

하🤦‍

이걸 못 봤어요 그래

그렇습니다. fork한 Repository에서 날린 Pull Request를 통해 이루어지는 Github Actions의 Work flow에는, Secrets가 전달되지 않는 것이었습니다..👀

Pull Request가 merge되어서 원본 repository의 main branch를 통한 github work flow가 발생하기 전까지는, Github Actions 실행과는 상관없이 Secrets를 사용할 수 없었습니다.

따라서 해당 PR을 Merge 해주었고, 정상적으로 Secrets와 함께 동작하는 Work flow를 경험할 수 있었습니다. (물론 배포도 잘 됐어요👍)


돌아돌아 Docs로..

미리 설명을 잘 읽었다면 경험하지 않았을 문제이으로, 다시금 Docs를 잘 읽고 도구를 사용해야겠다는 경각심을 얻을 수 있었습니다.

한편으로는 크게 시간을 들이지 않고 끝난 것에 감사하기도 했습니다! (그래도 2시간은 헤맨 것 같아요🤣)

Fork한 Repository를 사용한 것이 아니었다면, 경험할 수 없는 문제였을 것입니다.

마침내 Github Action을 통한, 그리고 Github Secrets를 사용한 빌드 및 배포에 성공한 모습을 보여드리며, 게시글을 마쳐봅니다.

감사합니다.


** 이 포스트는 Directors 프로젝트 진행 중 작성되었습니다. 진행 중인 프로젝트를 보고 싶으시다면 => Directors

profile
Done is better than perfect🔥

0개의 댓글