Skip to content
Bitrise runner CLI - run your automations on your Mac or Linux machine -
Go Other
  1. Go 99.4%
  2. Other 0.6%
Branch: master
Clone or download

Latest commit

trapacska Release cli new version (#726)
* dep update + versions update

* updated go version

* updated go version

* updated version tests
Latest commit d380a19 May 20, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
_docs small typo fix: 'you step id' -> 'your step id' (#683) Nov 11, 2019
_examples Update syntax of secrets example (#631) Sep 7, 2018
_lessons New trigger (#402) Sep 13, 2016
_tests Release cli new version (#726) May 20, 2020
bitrise Release cli new version (#726) May 20, 2020
cli Use exported envman function for step input expansion. (#721) May 12, 2020
configs
models [TOOL-1905] Include step inputs in model (#709) Mar 30, 2020
output godeps update (#370) Jul 12, 2016
plugins Send payload to stdin (#706) Mar 17, 2020
toolkits Release cli new version (#726) May 20, 2020
tools Use exported envman function for step input expansion. (#721) May 12, 2020
utils revert include-workflow-metadata & godeps update (#569) Jan 9, 2018
vendor Release cli new version (#726) May 20, 2020
version Release cli new version (#726) May 20, 2020
.codeclimate.yml base codeclimate config Oct 2, 2015
.gitignore .DS_Store gitignore Sep 24, 2016
Dockerfile Apt get update only once (#642) Nov 30, 2018
Gopkg.lock Release cli new version (#726) May 20, 2020
Gopkg.toml Release (#723) May 13, 2020
LICENSE Initial commit Jun 27, 2015
README.md Update README.md (#653) Mar 1, 2019
bitrise.yml TOOL-1907 fix flaky CI test case (#712) Mar 27, 2020
docker-compose.yml renames, from the old `bitrise-cli` to the new, official `bitrise` to… Aug 5, 2015
gows.yml gows init & go-utils/pathutil fix Jun 15, 2016
main.go

README.md

Bitrise (offline) CLI

Discussion forum: https://discuss.bitrise.io/

Run your Bitrise automations with this CLI tool on any Mac or Linux machine, and use the same configuration on bitrise.io (automation service, with a mobile app focus).

Part of the Bitrise Continuous Integration, Delivery and Automations Stack, with stepman and envman.

For a nice & quick intro you should check: https://www.bitrise.io/cli

Install and Setup

The installation is quick and easy, check the latest release for instructions at: https://github.com/bitrise-io/bitrise/releases

Installing with Homebrew:

brew update && brew install bitrise

Optionally, you can call bitrise setup to verify that everything what's required for bitrise to run is installed and available, but if you forget to do this it'll be performed the first time you call bitrise run.

You can enable shell completion for the bitrise run command: https://blog.bitrise.io/workflow-id-completion

Tutorials and Examples

You can find examples in the _examples folder.

If you're getting started you should start with _examples/tutorials, this should guide you through the basics, while you'll already use bitrise (requires installed bitrise).

You can find a complete iOS sample project at: https://github.com/bitrise-io/sample-apps-ios-with-bitrise-yml

Tooling support & JSON output format

bitrise CLI commands support a --format=[format] parameter. This is intended mainly for tooling support, by adding --format=json you'll get a JSON formatted output on Standard Output.

This is still work-in-progress, we're working on providing the --format param to every command except run.

Every error, warning etc. message will go to StdErr; and on the StdOut you should only get the valid JSON output.

An example calling the version command:

$ bitrise version --format=json

Will print {"version":"1.2.4"} to the Standard Output (StdOut).

Share your Step

You can use your own Step as you can see in the _examples, even if it's not yet committed into a repository, or from a repository directly.

If you would like to share your awesome Step with others you can do so by calling stepman share and then following the guide it prints.

Documentation

We added some documents to make it a bit easier to get started with Bitrise CLI. The documentation includes a quick and a little longer guides for CLI, a React Native project workflow guide and an overview of the Step share process. You can find them in the _docs folder.

Development

Guidelines

  • Easy to use: the UX for the end-user, always keep it in mind, make it a pleasant experience to work with this tool (and all of the Bitrise tools)!
  • Code should be kept simple: easy to understand, easy to collaborate/contribute (as much as possible of course).
  • Compatibility: never do an incompatible change, unless you can't avoid it. Release new features as additional options, to not to break existing configurations.
  • Stability: related to compatibility, but in general stability is really important, especially so in a CI/automation environment, where you expect fully reproducible outcomes.
  • Flexibility: should also be kept in mind, but only if it does not affect the previous points.

Updating dependencies

To do a full dependency update use bitrise-tools/gows, for a clean workspace:

gows clear && gows bitrise run dep-update

to test that all dependency is included:

gows clear && gows go test ./... && gows go install && gows bitrise run test

and/or with docker-compose:

docker-compose build && docker-compose run --rm app go test ./...
You can’t perform that action at this time.