-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CI/CD 및 코드 사이닝 개선 #136
CI/CD 및 코드 사이닝 개선 #136
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생많으셨습니다!
앱스토어 출시 시나리오는 아직 체크를 확인하지 못하는 부분이 있는 것으로 보이는데 이번 1.0.4 버전업데이트 하며 다시한번 확인해보면서 수정 거치면 될 것 같습니다.
PR너무 자세히 적어주셔서 큰 어려움없이 확인할 수 있었습니다 채고.
감사합니다 ㅎㅎ 리베이스 후 xcode 버전만 다시 16으로 바꿔보고 머지 하겠습니당 |
#️⃣연관된 이슈
📝작업 내용
스크린샷 (선택)
💬리뷰 요구사항(선택)
development 프로파일을 새로 생성하였습니다.
그렇기 때문에, 별개로 프로비저닝 프로파일에 대한 코드 서명 인증서가 필요했고, xcode에 해당 인증서가 설정이 안되어 있었습니다. (개발자 계정 사이트에 있는 Certificates 인증서)
Debug
빌드 시에는 말 그대로 디버깅이기 때문에, 개발용으로만 사용할 수 있고, 등록한 기기만 실행 될 수 있는데, 이러한 개발용 프로비저닝 프로파일을 새로 만들 필요가 있었습니다. (기기등록은 이전에 등록을 해놓은적이 있어서, 문제는 없을 듯 합니다.)xcconfig
에 팀 아이디와, 프로비저닝 파일 이름, 인증서 이름들을 알맞게 등록해놓고, 프로젝트settings
에Debug
와Release
를 구분해서 연결하면 자동으로 프로젝트 사이닝에 등록이 됩니다.다만,
Debug
Release
둘다 적용시, 배포용 프로비저닝 파일에 개발용 인증서가 연결되는 현상이 있어 두개를 구분지어 지정해주었습니다.fastlane
에 인증서와 프로비저닝 파일 받는 코드를 작성해놓았는데, 이걸 쓰면 개발자 계정 로그인 과정이 필요없을듯 합니다.. 워크플로우에선 이 명령어를 쓰는데 로그인 과정이 없었기 때문에..(테스트는 못해봄)기존 내부 베타 배포를 외부 베타로 바꿨습니다.
develop
브랜치push
에서develop
브랜치에pull request
가 닫히고, 병합 되었을 때로 변경하였습니다.workflow_dispatch
로 깃헙 상에서 수동으로 워크플로우를 돌려볼 수 있도록 하였습니다.앱스토어 배포 워크플로우를 새로 추가하였습니다. (테스트 필요)
main
으로 가는pull request
발생 시 해당 워크플로우가 실행되며, 바로 앱스토어에 심사 제출이 진행됩니다.이렇게 한 이유로는, 심사거부 시 코드 수정이 필요한 경우
pull request
내부에서 바로바로 커밋해서 새로 제출하기 위함입니다. 의견 있으시면 말씀해주세여~ (혹시나hotfix
가 필요한 경우hotfix
브랜치에서 바로 날려주시면 됩니다)pull reqeust
를 병합해주시면 됩니다.fastlane/release_notes.txt
파일에 앱스토어 상에 보일 릴리즈 노트를 작성해야 제출 시 함께 업로드 됩니다.pull request
본문에 깃헙 릴리즈 노트 내용을 입력해주시면, 병합 시 자동으로 깃헙 릴리즈 노트로 복사가 됩니다.릴리즈 업데이트 워크플로우를 새로 추가하였습니다. (테스트 필요)
main
으로 가는pull request
가 닫히고 성공적으로 병합 되었을 시 실행됩니다.fastlane
의spaceship
이라는 라이브러리를 통해,Appstore Connect API
를 사용할 수 있는데, 이 라이브러리를 통해 현재 앱스토어에 출시 되어 있는 버전을 파싱합니다.pull request
를 파싱하기 위해Github CLI
를 사용하였습니다.pull request
의 본문을 파싱하여, 앱 버전과 함께 깃헙 릴리즈 노트를 업데이트 합니다.pull request
를 파싱하는 작업이 있어서, 실제로 앱스토어 제출 워크플로우를 돌려 본 후 테스트를 진행해야할 것 같습니다. (GPT가 알려준 방법이라 잘 될지 의문...)close #135