RN-Jenkins 배포 트러블 슈팅 기록

Kimrotti,ReactReact NativeJenkinsCI/CD

react-native 개발을 하며 프로필 페이지에 신규 기능의 history를 보여줄 필요가 있어 수정 후 master 브랜치에서 푸시하여 jenkins에서 테스팅을 하는 과정에서 에러가 발생하였다.

10:40:23  [10:40:23]: ▸ [35m[31m❌  error: Sandbox: rsync.samba(8840) deny(1) file-write-create /Users/jenkins/Library/Developer/Xcode/DerivedData/SimsimiReactNative-ajloljgsmbpdjugapdrygvwjjhax/Build/Intermediates.noindex/ArchiveIntermediates/SimsimiReactNativeProduct/BuildProductsPath/Release-iphoneos/XCFrameworkIntermediates/BURelyFoundation_Global/AFNetworking/Headers (in target 'BURelyFoundation_Global' from project 'Pods')[0m
error: Sandbox: rsync.samba(8851) deny(1) file-write-create

Showing Recent Errors Only

Sandbox: rsync.samba(89945) deny(1) file-write-create /Users/jenkins/Developement/simsimi-react-native/ios/build/Debug-iphonesimulator/XCFrameworkIntermediates/VungleAds/VungleAdsSDK.framework/Headers

위의 에러는 DerivedData 폴더에 파일 또는 폴더를 생성하지 못하는 문제로 xcode 접근 권한의 문제일까 싶어 Build Setting > Build Options > User Script Sandboxing을 No로 설정하였으나, 문제가 해결되지 않았다.

apple dev forums에 이상증상에 대한 글을 확인

https://forums.developer.apple.com/forums/thread/767371 (opens in a new tab) 동일한 OS에서 비슷한 문제를 겪고 있는 사람을 발견했다. 따라서 특정 버전의 문제일 가능성을 갖고 접근했다.

react-native issue page에 문제 글을 확인

https://github.com/facebook/react-native/issues/47228 (opens in a new tab)

Stable 버전으로 변경

적용방법

Jenkins가 돌아가는 mac-mini에서 버전 변경

  1. mac-mini에서 xcodeproj 1.26.0 수동 삭제
  1. ios Gemfile 에 1.26.0 을 사용하지 않도록 적용