Dependencies and caching
Bitrise offers several dedicated Steps to make sure you can install your dependencies regardless of project type. You can cache dependencies and other build files using both key-based and branch-based caching.
Handling platform and application dependencies is a vital part of development. On Bitrise, we offer several dedicated Steps to make sure you can install your dependencies regardless of project type.
Dependencies, and just about any other build files, can be cached, too. Bitrise offers two types of build caching and several dedicated Steps to make caching as convenient as possible.
iOS dependencies
Install iOS dependencies via our official Xcode Steps which offer built-in dependency management, or use our Steps for the most commonly used third-party dependency managers: iOS dependencies
-
Use the official Xcode Steps to handle Swift Package Manager dependencies without having to worry about configuring anything outside Xcode: Managing dependencies with SPM.
-
If you use CocoaPods, and have your
Podfile
configured, you can use our Run CocoaPods install Step to install your pods: Managing dependencies with CocoaPods. -
If you use Carthage in your project, you can use our Carthage Step to install your dependencies: Managing dependencies with Carthage.
Android dependencies
Our official Android Steps run your Gradle tasks for you in a CI environment. As such, if your dependencies are appropriately configured within your project, they will handle installing them for you: Android dependencies.
Flutter dependencies
For Flutter, our Flutter Build Step can handle both packages and plugins so you don't need to add any additional Step to install your dependencies: Flutter dependencies.
React Native dependencies
For React Native, you can install npm packages via either npm or Yarn, as we have official Steps for both package managers. You can also install your native dependencies separately: React Native dependencies
Caching
Bitrise offers two types of caching: key-based caching and branch-based caching. Generally, we recommend key-based caching as it's faster and more flexible but both methods are fully supported with dedicated Steps.
Our caching solutions allow you to cache just about any build file you want. You can cache all of your dependencies with barely any configuration as several Steps can automatically collect and cache dependency content. For other build files, the main caching Steps are fully configurable to fit your needs.
Key-based caching
Key-based caching relies on using key-value pairs to identify cache archives. The keys can be dynamically generated so you can ensure, for example, that the archive is only updated if certain files change. You have full control over assigning keys to your cache archives: Key-based caching.
Branch-based caching
Branch-based caching works by saving a cache archive for each branch of your repository on which you run builds. You can configure exactly what files and folders should be cached: Branch-based caching.
Caching dependencies
For key-based caching, we have dedicated Steps for all the most frequently used dependency managers. For branch-based caching, each and every Step handling dependencies is capable of collecting cache content.
Remote build cache
The Bitrise build cache is a custom, hosted implementation of the caching solutions of certain build systems. You can use the remote cache both locally and in the Bitrise CI environment: in this way your builds will work consistently regardless of the environment and you can save a significant amount of build time.
Bitrise supports remote build caching for two build systems: