“GitHub Actions Runner 문제 해결기: iOS 빌드 환경에서의 등록 및 설정 팁”

피터·2024년 9월 10일
0

안녕하세요, 피터입니다! 😃

오늘은 GitHub Actions Runner를 설정하는 과정에서 겪었던 문제와 이를 해결하기 위한 과정을 공유하려고 합니다. 특히 "Registration was not found or is not medium trust" 에러와의 씨름이었는데요, 결국 해결 과정에서 얻은 중요한 교훈도 함께 나누려고 해요!


문제 상황

GitHub Actions Runner를 설정하던 중 아래와 같은 에러 메시지가 나왔습니다:

[2024-09-06 00:44:57Z ERR  MessageListener] GitHub.Services.OAuth.VssOAuthTokenRequestException: Registration was not found or is not medium trust.

이 에러는 런너가 제대로 등록되지 않았다는 의미였어요. 런너가 이미 다른 프로젝트와 엮여 있었기 때문에, 무작정 삭제할 수 없는 상황이었죠. 특히 iOS 레포만을 재등록하고 싶은데, 다른 개발자들의 설정과 충돌이 날까봐 신중해야 했습니다. 😅


1. 런너 재등록 시도

첫 번째로 시도했던 방법은 런너를 완전히 제거한 후 재등록하는 것이었어요. 그러나 다른 개발자들과 연결된 부분이 많아서, 저 혼자 런너를 삭제할 수 없는 상황이었죠. 그래서 해결책을 찾기 위해 동료 개발자와 상의했고, 결국 actions-runner를 제거하고 다시 등록해야 한다는 결론에 도달했습니다.

아래 명령어로 런너를 제거하고 재등록하는 과정을 진행했습니다:

./svc.sh uninstall
./config.sh remove

그 후 GitHub에서 새 토큰을 발급받아 런너를 다시 등록했어요:

./config.sh --url https://github.com/your-repo --token YOUR_NEW_TOKEN --name "Macmini-upload-ios" --labels "self-hosted, macOS, X64, ios"

2. 라벨 설정의 중요성

이 과정에서 큰 깨달음을 얻었는데요, 바로 라벨을 잘 설정하는 것이 CI/CD 파이프라인의 원활한 동작을 보장한다는 점입니다. 처음에는 라벨을 대충 설정해도 큰 차이가 없을 거라 생각했지만, iOS 빌드 전용으로 정확한 라벨을 설정해주는 것이 얼마나 중요한지 알게 되었어요. 특히 프로젝트의 특성에 맞게 라벨을 지정해야 파이프라인이 원하는 대로 잘 동작합니다.

예를 들어, iOS 관련 태그를 추가함으로써 해당 Runner가 특정 레포지토리나 빌드에만 사용할 수 있도록 설정했습니다:

--labels "self-hosted, macOS, X64, ios"

이 설정 덕분에 빌드 파이프라인이 훨씬 매끄럽게 동작하게 되었습니다. 🎉


3. 로그 확인 방법

문제 해결 과정에서 로그를 확인하는 것이 정말 중요했어요. 로그 파일을 통해 어떤 에러가 발생했는지 파악할 수 있었습니다. Runner 디렉토리에서 아래 명령어로 로그 파일을 확인했습니다:

ls -lh ~/actions-runner/_diag/

이 명령어로 로그 파일 목록을 확인하고, 문제를 추적할 수 있었습니다. 실제로 로그에서 OAuth 토큰 발급 문제를 발견했고, 이를 통해 다음 해결 단계를 결정할 수 있었죠.


결론

이번 경험을 통해, GitHub Actions Runner의 설정이 생각보다 까다롭다는 것을 다시금 느꼈어요. 특히 여러 개발자들과 공유하는 런너 환경에서 삭제와 재등록 과정은 신중하게 진행해야 하고, 라벨 설정의 중요성도 크게 깨달았습니다.

또한, 로그를 통해 문제를 추적하고 해결하는 방법도 큰 교훈이었어요. 아직도 런너 설정이나 GitHub Actions 관련해서 질문이 있다면 언제든지 물어봐 주세요. 😊

끝까지 읽어주셔서 감사합니다! 😄

profile
iOS 개발자입니다.

0개의 댓글