问题标签 [bitrise]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - How to shorten build time of Flutter iOS app using fastlane
My problem is that when using Firebase (cloud_firestore
in particular) the build times of Flutter iOS app get so long, that my CI build on Bitrise reaches timeout (28 min for flutter build --release
and again more than 20 min for fastlane's build_ios_app
). So I'm unable to perform full iOS build on my CI. Caching of course is possible, but firstly an initial build must be done :/
According to this guide it's necessary to rebuild iOS app when archiving with Xcode using Fastlane. There is, however, a discussion on official Github repo about introducing a command to publish IPA file directly from Flutter but for now it's impossible.
My question is - are there any ways to shorten this build time e.g. by skipping building in fastlane step and just resigning and archiving .app file to .ipa? I couldn't make it work by myself.
Here you may find a sample Flutter app with cloud_firestore
enabled.
Below you may find my Bitrise and fastlane configuration:
And here is fastlane:
xamarin - 如何为 Xamarin / Bitrise 创建单元测试
我正在使用 Xamarin 设置一个新的混合移动应用程序,并且我想使用 Bitrise 进行持续集成。但我不知道如何正确创建测试。
现在,我已经在构建项目的地方设置了一个工作流,为了运行测试,我读到我需要使用 NUnit Runner 步骤(我添加了),但我不知道应该将测试放在我的哪个位置这个步骤的项目来执行它们。
我尝试在我的解决方案中使用 Visual Studio 添加一个新的 NUnit 项目我的测试如下所示:
所以它应该执行没有任何问题吗?但是当我的工作流程被执行时,我最终会遇到这样的错误:Failed to read test result, error: test result not exist at: /Users/vagrant/deploy/TestResult.xml
我在我的工作流程中获得了 NUnit 步骤的所有默认设置。
我究竟做错了什么 ?
android - Android Jetifier CI/CD
尝试在 CI/CD 环境中使用 Jetifier,特别是我使用的是 bitrise,但真正的问题是我想自动化部署过程。在 AndroidX 之前,这工作得很好,现在我需要一种通过命令行为整个应用程序使用 jetifier 的方法。我已经陷入使用exclude
来摆脱所有可以想象的依赖的兔子洞,但是enableJetifier=true
什么也没做,除非你从 Android Studio 构建。我是否错过了在过去 2 周的谷歌搜索中没有找到的 gradle 插件?或者这是一个未解决的问题?
fastlane - bitrise 在 Applications/Xcode-beta.app/Contents/Developer 找不到传输器
我正在尝试使用 bitrise 和 fastlane 将 ios 存档上传到 testflight,但是存档成功后我收到错误"Could not find transporter at Applications/Xcode-beta.app/Contents/Developer"
并且工作流失败。
这是我的快车道文件
react-native - 使用私有 NPM 注册表在 Bitrise 上构建 React Native
:我们在从私有 npm 注册表安装 npm 包时遇到问题。
所以我们的 package.json 有一个像这样的包:
"@bit/yaronlevi.rumble-common.analytic-events@1.0.14"
具体来说,这个包托管在Bit上,因此按照他们的文档,我们使用以下命令将脚本步骤添加到我们的工作流程中:
echo "@bit:registry=https://node.bit.dev\n//node.bit.dev/:_authToken=${BIT_TOKEN}" >> ~/.npmrc
但不幸的是,在 npm install 步骤中,找不到包:
npm ERR! 404 Not Found: @bit/yaronlevi.rumble-common.analytic-events@1.0.14
关于我们在这里做错了什么的任何想法?
ios - 通过 bitrise 构建的问题;通过 xcode 构建的更多问题
我不知何故发现自己试图通过 bitrise 构建一个应用程序以部署到 testflight。我完全是个新手,所以为可能看起来很愚蠢的事情道歉。
Bitrise 设法构建了所有东西,但最终拒绝部署,在日志中引用以下内容:
好吧,我想,我会克隆 repo,在 xcode 中打开项目,从而更新 sdk 版本。这似乎意味着更多的问题......当我尝试在 Xcode 中构建项目时,我遇到以下错误:
除此之外,还有一些问题,包括:
如果我忽略此错误,将其推送并在 bitrise 上重新构建,我会得到以下信息:
因此,看起来 CocoaPods 安装出现了严重问题。事实上,当我检查文件时,根本没有 Pods 文件夹——只有 Podfile 和 Podfile.lock。(我不知道没有这个之前它会如何构建得很好?)
pod install
因此,我尝试通过从 iOS 文件夹中的终端运行将 CocoaPods 重新安装到项目中。我在终端中遇到同样的错误:No such file or directory @ rb_sysopen -- /Users/[...]DoubleConversion.podspec
。pod update
产生相同的错误。此外,有人告诉我有一个新版本的 CocoaPods 可用。我使用 安装它sudo gem install cocoapods
,它会在 ios 中生成一个带有子文件夹的 Pods 文件夹,但都是空的。
如你所知,我有点困惑。如果项目文件中缺少 CocoaPods 功能的固有部分,那么它之前是如何构建的?我猜这是由于 CocoaPods 被安装为 bitrise 工作流程的一部分(确实存在)——但是,如果是这样,那现在导致它在构建过程中失败怎么办?尝试打开项目以更新引入此问题的 SDK 是什么意思?
我敢肯定这一切似乎有点愚蠢(至少我希望如此)。感谢您的耐心等待,我们将不胜感激任何帮助。
provisioning-profile - Store Bitrise Provisioning Profiles in the git repository
Is there a way to store my app's provisioning profiles along the code in my git repository and make Bitrise install them on runtime? This instead of manually uploading the profiles to Bitrise.
ios - 使用 Bitrise,是否可以在 `info.plist` 文件中创建自定义变量替换?
我注意到里面info.plist
有一些字符串使用看起来像变量替换的符号(例如$(EXECUTABLE_NAME)
)。
有谁知道是否可以创建自定义替换并将这些值存储为 Bitrise 中的秘密?
此用例的一个完美示例是外部化 Facebook App ID 和 Secrets。
这是我想做的事情......
有任何想法吗?
ios - 尝试在 Bitrise iOS 构建过期令牌中启动失败
我使用 Bitrise 作为 CI 解决方案,不幸的是,在启动 UITests 时,日志告诉我。
尝试在 Bitrise iOS 版本中启动失败 已过期令牌:此令牌仍不存在任何操作。
单元测试工作正常。不知道为什么会这样。模拟器似乎可以正常启动。
当然发射被称为是里面setUp()
苹果文档说launch()
这个调用是同步的。当它返回时,应用程序启动并准备好处理用户事件。启动序列中的任何失败都会报告为测试失败并在此时停止测试。
所以它应该可以正常工作,因为模拟器应该在运行测试之前首先启动。
git - 分离的 HEAD 不会重新连接到任何东西
我将自动构建系统 Bitrise 与 Github 结合使用。当我发出拉取请求时,它会运行测试以确保新代码正常。如果不是这样,当太多人互相踩到对方的脚趾时,这个系统就会分崩离析。Bitrise 只会基于分支名称构建代码,而不是提交哈希。因此,当我执行所需的合并时,例如当合并冲突破坏构建时,我尝试提交修复但 HEAD 已分离,我无法让分支名称指向 HEAD。甚至硬重置都不起作用。因此,Bitrise 继续无法构建。
有谁知道将分支指向特定提交哈希的好方法?