构建在 iTunes Connect 上不可用,无法通过 CircleCI 快速通道部署进行内部测试
Build not available on iTunes Connect for internal testing through CircleCI fastlane deployment
我目前正在尝试通过 CircleCI 使用 Fastlane 来为 React-Native 应用程序设置 iOS 部署,但我在我的 fastlane 脚本中遇到 pilot
的问题,我将构建上传到 iTunes Connect,但构建从用于 TestFlight 内部测试人员的过程中消失了。如果我在本地存档并将构建上传到 iTunes Connect,它将可用于测试。
我的Fastfile
,使用版本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
我的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
CircleCI 测试的输出
在 iTunes Connect 上构建完成处理
在 TestFlight 选项卡上构建不可用(不可见)
我尝试通过使用相同的证书和配置文件在本地存档来调试它,但它上传成功并且我能够在 TestFlight 上分发给内部测试人员。
非常感谢您的帮助。
找到有助于解决此问题的解决方案。
两个部分似乎有助于修复它
正在将使用的配置文件从 adhoc
更改为 appstore
一个。我必须通过匹配生成应用商店配置文件:
fastlane match appstore -a com.myapp.app.staging
将 include_symbols
和 include_bitcode
添加到我的 gym
构建参数中。
处理时间比平时长,但处理后,它 returns 到构建列表,pilot
识别它并发布到 TestFlight。
我的新 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
我目前正在尝试通过 CircleCI 使用 Fastlane 来为 React-Native 应用程序设置 iOS 部署,但我在我的 fastlane 脚本中遇到 pilot
的问题,我将构建上传到 iTunes Connect,但构建从用于 TestFlight 内部测试人员的过程中消失了。如果我在本地存档并将构建上传到 iTunes Connect,它将可用于测试。
我的Fastfile
,使用版本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
我的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
CircleCI 测试的输出
在 iTunes Connect 上构建完成处理
在 TestFlight 选项卡上构建不可用(不可见)
我尝试通过使用相同的证书和配置文件在本地存档来调试它,但它上传成功并且我能够在 TestFlight 上分发给内部测试人员。
非常感谢您的帮助。
找到有助于解决此问题的解决方案。
两个部分似乎有助于修复它
正在将使用的配置文件从
adhoc
更改为appstore
一个。我必须通过匹配生成应用商店配置文件:
fastlane match appstore -a com.myapp.app.staging
将
include_symbols
和include_bitcode
添加到我的gym
构建参数中。
处理时间比平时长,但处理后,它 returns 到构建列表,pilot
识别它并发布到 TestFlight。
我的新 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