How to experiment with Bitrise configs locally, on your Mac/Linux

bitrise-cli

#1

Do you want to run a custom Script in your builds, or do you want to experiment with things you just found on the DevCenter, but would love to make the process faster?

If you do, this is the right place for you!

It’s actually super simple:

  1. Install the Bitrise CLI, which is the exact same runner which runs the builds on the bitrise.io VMs. https://www.bitrise.io/cli
  2. Open your Terminal / Command Line
  3. Just to be sure, if you just installed the CLI, run: bitrise setup
    • This will prepare everything required for running the builds/tools.
  4. Prepare a bitrise.yml / config:
    • Either download your config from bitrise.io (Workflow Editor -> bitrise.yml -> that’s the build config, which you can download and save as a bitrise.yml file, and run it with the CLI
    • Or if you just want to run quick experiments, generating a new config which will only include the things you want to test might be even faster. In your Terminal / Command Line run these:
      1. mkdir /tmp/bitrise-experiment
      2. cd /tmp/bitrise-experiment
      3. bitrise init --minimal
      4. That’s all, the init will generate a base bitrise.yml config for you in the directory you run the bitrise init command in (in this example /tmp/bitrise-experiment
  5. Once you have the config you can either edit the bitrise.yml manually, or use the Workflow Editor, which is now part of the CLI!
    • To open the Workflow Editor just run bitrise :workflow-editor in the directory where the bitrise.yml is located.
  6. Ready for running a “build”? You can run it in your Terminal / Command Line with bitrise run WORKFLOW-ID.
    • Run this command in your Terminal / Command Line in the directory where the bitrise.yml is located at.
    • To list all the available workflow IDs from your build config (bitrise.yml) simply run bitrise run without specifying any workflow ID, that will print an error and list all the available workflows.

That’s pretty much all. You can now experiment with your config locally (on your Mac/Linux) quickly using the tips/steps above.

If you’d have any questions feel free to leave a comment below!

Happy Iterating! :wink:


How to run Android UI tests on virtual devices
Build Multiple Apps with Different Prov. Profiles & Certificates
Generating release outputs for Ionic
Crashlytics DSYM upload issue
Secret Environment Variables not used in Xcode Archive & Export
List of shell commands
Ionic iOS Automatic Code Signing Error: Provisioning profile is Xcode managed, signing settings require a manually managed profile
Minimal example for macOS with Scons build system
Can a env variable contain another env variable? like $NUMBER = $BUILD_NUMBER?
Couldn't find com.android.tools.build:gradle:3.0.0
AndroidTest with Kotlin Code fails
Appium tests / setup
How change package name with help Bitrise?
How to add Ionic 1 App on Bitrise.io?
Script@1.1.4 (exit code: 1) Error
Struggling with building ReactNative - iOS
Possibility to rebuild from the build list
Xcode does not find Pods.release.xcconfig file
bundleReleaseJsAndAssets task failed
Cannot execute Appium tests on Bitrise. Invalid Server Instance there are no installed Nodes
Turning off a specific Pod? (Bitrise on iOS)
Appium tests dont run on the android emulator
Appium cannot find element on iOS Simulator
Generate keystore
Provisioning Profile installed, but missing
#2

Hi, I’m getting the following when I try to run the command line bitrise setup

Installing ⣯Download failed, retrying ...
Setup failed, error: Failed to do common/platform independent setup, error: Envman failed to install: failed to download, error: failed to download from (https://github.com/bitrise-io/envman/releases/download/1.1.13/envman-Darwin-x86_64), error: Get https://github.com/bitrise-io/envman/releases/download/1.1.13/envman-Darwin-x86_64: x509: certificate signed by unknown authority

#3

Hi @kuassivi,

Based on the timing of your comment I suspect it was caused by the GitHub outage last week.
If that’s indeed the case then you can just run bitrise setup again (or bitrise setup --clean to do a full clean setup) and that will work.

If it would not work then please create a #issues:steps-and-tool-issues report so that we can debug it - #how-to topics are not tracked for issues by the support team, that’s why the long delay in response here :slight_smile:


#4

To know the entire process for the configuration of the Linux and that you can also get that kind of things from the help of the Apple support for the required help which you want for the guidance to make that kind of things perfect for you.


#5

Hi @adamdavis44!

Thanks for the reply but we are not entirely sure what you are referring to here, can you explain please? :slightly_smiling_face:


#6

Hi @viktorbenei
I managed to run it locally working like charm.
However in bitrise.io or when I do full clean git clone I’m having issue in gradle-runner step

> Could not resolve all task dependencies for configuration ':app:releaseCompileClasspath'.
   > Could not resolve project :apptivityframework.
     Required by:
         project :app
         project :app > project :data
      > Unable to find a matching configuration of project :apptivityframework: None of the consumable configurations have attributes.

note that apptivityframework is git submodule while data module is local project


#7

Hey @zack_viplive, could you send us your build URL or log file for investigation? Preferably on our on site-chat or in an #issues thread here? Please do!


#8

Hi @bitce Thanks for the response, I’ve sent you on site chat.


#9

Thanks! We’ll help you sort it out as soon as we can!