2017-08-02 1 views
2

J'essaie actuellement de configurer le déploiement iOS pour une application React-Native, en utilisant Fastlane via CircleCI, et j'ai un problème où j'arrive à pilot dans mon Fastlane script, je télécharge la construction à iTunes Connect, mais la construction disparaît d'être utilisé pour les testeurs internes TestFlight. Si j'archive localement et télécharge la version sur iTunes Connect, elle sera disponible pour les tests.Build non disponible sur iTunes Connect pour les tests internes via le déploiement fastlane de CircleCI

Mon Fastfile, en utilisant la version 2.51.0

platform :ios do 
    lane :deploy_staging do 
    match(
     type: "adhoc", 
     force: true 
    ) 

    increment_build_number(
     xcodeproj: './ios/MyApp.xcodeproj' 
    ) 

    gym(
     export_method: "ad-hoc", 
     scheme: "MyApp Staging", 
     project: "./ios/MyApp.xcodeproj" 
    ) 
    pilot(
     skip_submission: false, 
     distribute_external: false, 
    ) 

    clean_build_artifacts 
    git_add(
     path: '.' 
    ) 
    git_commit(
     path: '.', 
     message: "Deployed new staging version #{lane_context[SharedValues::BUILD_NUMBER]} [skip ci]", 
    ) 
    push_to_git_remote(
     local_branch: ENV["CIRCLE_BRANCH"], 
     remote_branch: ENV["CIRCLE_BRANCH"] 
    ) 
    end 
end 

Mon circle.yml

machine: 
    environment: 
    PATH: '$PATH:$HOME/node/node-v8.1.3-darwin-x64/bin' 
    xcode: 
    version: 8.3.3 

dependencies: 
    cache_directories: 
    - $HOME/node 
    pre: 
    - "ls \"$HOME/node/node-v8.1.3-darwin-x64\" || mkdir \"$HOME/node\"" 
    - "ls \"$HOME/node/node-v8.1.3-darwin-x64\" || curl -L \"https://nodejs.org/dist/v8.1.3/node-v8.1.3-darwin-x64.tar.gz\" -o \"$HOME/node/node-v8.1.3-darwin-x64.tar.gz\"" 
    - "ls \"$HOME/node/node-v8.1.3-darwin-x64\" || tar -xzf \"$HOME/node/node-v8.1.3-darwin-x64.tar.gz\" -C \"$HOME/node/\"" 
    - "rm -f \"$HOME/node/node-v8.1.3-darwin-x64.tar.gz\"" 
    override: 
    - npm install -g react-native-cli 
    - npm install 

test: 
    override: 
    - npm test 
    post: 
    - mkdir -p $CIRCLE_TEST_REPORTS/junit/ 
    - find . -type f -regex ".*/test_out/.*xml" -exec cp {} $CIRCLE_TEST_REPORTS/junit/ \; 

deployment: 
    pre: 
    - gem install fastlane 
    staging: 
    branch: staging 
    commands: 
     - npm run build:ios 
     - fastlane deploy_staging 

sortie du test CircleCI

CircleCI results

Build completed traitement sur iTunes Connect

iTunes Connect

Construire non disponible (invisible) sur l'onglet TestFlight

TestFlight

J'ai essayé de débogage ce en archivant localement avec les mêmes certificats et profils, mais il télécharge avec succès et je suis capable de distribuer aux testeurs internes sur TestFlight.

Merci beaucoup pour votre aide.

Répondre

1

Vous avez trouvé la solution qui a permis de résoudre ce problème.

deux parties semblent aider à fixer

  1. Changer profil utilisé adhoc-appstore

    a. Je devais générer le profil de provisionnement appstore par match:

    fastlane match appstore -a com.myapp.app.staging 
    
  2. Ajout include_symbols et include_bitcode à mes gym paramètres de construction.

traitement a duré plus longtemps que la normale, mais après le traitement, il retourne à la liste de construction où pilot reconnaît et qu'il affiche à TestFlight.

Mon nouveau FastFile:

lane :deploy_staging do  
    match(
     type: "appstore" 
    ) 

    increment_build_number(
     xcodeproj: './ios/MyApp.xcodeproj' 
    ) 

    gym(
     include_symbols: true, 
     include_bitcode: true, 
     export_method: "app-store", 
     scheme: "MyApp Staging", 
     project: "./ios/MyApp.xcodeproj" 
    ) # Build your app - more options available 

    pilot 

    clean_build_artifacts 
    git_add(
     path: '.' 
    ) 
    git_commit(
     path: '.', 
     message: "Deployed new staging version #{lane_context[SharedValues::BUILD_NUMBER]} [skip ci]", 
    ) 
    push_to_git_remote(
     local_branch: ENV["CIRCLE_BRANCH"], 
     remote_branch: ENV["CIRCLE_BRANCH"] 
    ) 

    end