Skip to main content

Dependencies and caching

Abstract

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

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: