GitLab.com의 Group 운영 및 외부 서비스 (Unity Cloud Build) 연계
3107 단어 UnityCloudBuildUnity개발GitLabGit
소개
클라우드 서비스 GitLab.com을 Bronze Plan에서 계약하고 사용합니다. 개발팀의 일은 Unity 앱 제작이기 때문에 master에 병합할 때마다 역시 클라우드 서비스 Unity Teams Advanced의 Cloud Build에서 빌드하기도 합니다.
운용도 잘 되어 안심하고 있던 2018년 9월 초순의 어느 날, Unity의 Cloud Build가 끊임없이 실패하기 시작해, 정상화를 향한 시행착오의 길이 시작되는 것이었습니다.
빌드 환경 구성
· GitLab.com [Bronze Plan]에서 소스 관리
· LFS는 GitLab.com 서비스 제공을 사용합니다.
· Unity Teams Advanced의 Cloud Build에서 Unity 앱 빌드
GitLab.com의 master 브랜치를 모니터링하고 자동 빌드하고 있습니다.
조심하다
그럼 결론부터.
· GitLab.com [Bronze Plan]에서 소스 관리
· LFS는 GitLab.com 서비스 제공을 사용합니다.
· Unity Teams Advanced의 Cloud Build에서 Unity 앱 빌드
GitLab.com의 master 브랜치를 모니터링하고 자동 빌드하고 있습니다.
조심하다
그럼 결론부터.
이상
조심하지 않으면 무슨 일이 일어나는가?
× Unity Cloud Build에서 GitLab.com 리포지토리를 얻기 위해 git 프로토콜을 사용하는 경우
「Error downloading object: xxx.png : batch request: ssh_exchange_identification: Connection closed by remote host: exit status 255」
→clone은 성공합니다만, checkout으로 실패합니다. LFS 서버에서 파일을 어느 정도의 수 다운로드하여 안심하고 있으면, 도중에 「Connection closed by remote host」됩니다.
→LFS를 사용하지 않는다면 문제 없다고 생각합니다만, LFS 사용하지요 Unity의 리소스라든지.
→git가 아닌 https를 사용하면 문제 없어. (GitLab.com 지원 담당자)
→그동안 문제 없게 동작하고 있던 checkout이 실패하기 시작한 원인은, 실은 조사 중단한 채입니다. (GitLab.com이 GCP로 이동한 영향이라고 생각했어요 그때는・・・)
× GitLab.com에는 Group이라는 기능이 있어 개발 멤버는 이 Group에 소속되죠? 그렇게 하면 Group내에 둔 프로젝트마다 일일이 멤버 할당하지 않아도 됩니다.
Unity Cloud Buildの設定で、
GitLab authentication の機能を使い、Group Repositories を HTTPS で指定しようとする。
1) Navigate to the Cloud Build Config Page of your Project
2) Click on Edit Source Control
3) Select your repository <---- ここでRepositoryの一覧が表示されるが、目的のRepositoryが表示されない
→아니 아니 평범하게 액세스권이 있는 유저라면 참조처 일람에 나오고. (Unity 지원 담당자)
→https로 참조하려고 하면 일람에 나오지 않습니다만, 실은 이 상태에서도 git 프로토콜로 직접 참조 설정하면 clone는 가능합니다.
→에서도, git 프로토콜에서는 LFS로부터의 다운로드로 상기 에러가 나오므로 안 되네요.
→ GitLab.com의 project 설정에서 project에 사용자를 "직접"할당하면 Unity Cloud Build의 참조 목록에 즉시 표시됩니다. 이것으로 1건 낙착이 됩니다.
예: URL이 h ttps://gitlab.com/{Group}/{Repository}.git인 경우,
사용자가 {Repository}에 할당되면 참조 대상 목록에 표시됩니다.
→이 건, GitLab.com측의 문제인가, Unity Cloud Build측의 문제인가 원인 조사는 방치중입니다
× GitLab.com의 유료 플랜은 기본적으로 Group 내에 소속된 멤버 수로 지불액이 결정됩니다. 그러므로 운영 중에는 Group의 참가자를 고정으로 둡니다.
→앞의 에러시, project에 유저를 할당해 보면 어떻게 될지 시험하고 싶었습니다만, 메뉴를 찾을 수 없어, 잠시 고민했습니다.
→일시적으로 체크박스를 제외하고 추가합시다.
~~
신세를 졌던 GitLab 커뮤니티, Unity 지원, GitLab 지원, 감사합니다. 이런 메모가 누군가의 도움이 되는 일이 없거나 하거나 하도록(듯이).
그럼 좋은 GitLab 생활을.
Reference
이 문제에 관하여(GitLab.com의 Group 운영 및 외부 서비스 (Unity Cloud Build) 연계), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nfukuoka/items/a8864c6a42bf180ca583텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)