You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bitrise CLI is the workflow runner that powers [Bitrise](https://bitrise.io/) builds. It's the component that runs inside build machines and execute steps defined in `bitrise.yml`.
4
4
5
-
Run your Bitrise automations with this CLI tool on any Mac or Linux machine, and use the same configuration on
6
-
[bitrise.io](https://www.bitrise.io) (automation service, with a mobile app focus).
5
+
It's also useful as a standalone dev tool in your local environment. You can:
7
6
8
-
_Part of the Bitrise Continuous Integration, Delivery and Automations Stack,
9
-
with [stepman](https://github.com/bitrise-io/stepman) and [envman](https://github.com/bitrise-io/envman)._
7
+
- quickly validate your `bitrise.yml` changes before pushing a commit (`bitrise validate`)
8
+
- run CI workflows locally (`bitrise run workflow_name`)
9
+
- run the workflow editor in `localhost` and edit your configs and pipelines visually (`bitrise :workflow-editor`)
10
+
- perform various other tasks (for a full list run `bitrise help`)
10
11
11
-
For a nice & quick intro you should check: [https://www.bitrise.io/cli](https://www.bitrise.io/cli)
The installation is quick and easy, check the latest release for instructions at: [https://github.com/bitrise-io/bitrise/releases](https://github.com/bitrise-io/bitrise/releases)
18
+
There are multiple options to install Bitrise CLI:
16
19
17
-
Installing with Homebrew:
20
+
- Homebrew: `brew install bitrise`
21
+
- Nix: packaged as `bitrise`, run `nix-shell -p bitrise` or your preferred configuration method.
22
+
- Download a pre-built binary from the [releases](https://github.com/bitrise-io/bitrise/releases) page
23
+
- There might be other [community-maintained packages](https://repology.org/project/bitrise/versions)
18
24
19
-
`brew update && brew install bitrise`
25
+
You can enable shell completion for the `bitrise run` command: [https://blog.bitrise.io/workflow-id-completion](https://blog.bitrise.io/workflow-id-completion)
20
26
21
-
Optionally, you can call `bitrise setup` to verify that everything what's required for `bitrise` to run
22
-
is installed and available, but if you forget to do this it'll be performed the first
23
-
time you call `bitrise run`.
27
+
### Building from source
24
28
25
-
You can enable shell completion for the `bitrise run` command: [https://blog.bitrise.io/workflow-id-completion](https://blog.bitrise.io/workflow-id-completion)
29
+
First, set up the right Go version indicated by the `go.mod` file.
30
+
31
+
```sh
32
+
go install .
33
+
```
34
+
35
+
## Documentation
36
+
37
+
CLI documentation is part of the main [Bitrise docs](https://devcenter.bitrise.io). Relevant sections:
38
+
39
+
-[Workflows and Pipelines](https://devcenter.bitrise.io/en/steps-and-workflows.html)
40
+
-[Bitrise CLI local use](https://devcenter.bitrise.io/en/bitrise-cli.html)
26
41
27
42
## Tutorials and Examples
28
43
@@ -39,9 +54,6 @@ You can find a complete iOS sample project at: https://github.com/bitrise-io/sam
39
54
This is intended mainly for tooling support, by adding `--format=json` you'll
40
55
get a JSON formatted output on Standard Output.
41
56
42
-
**This is still work-in-progress, we're working on providing
43
-
the `--format` param to every command except `run`**.
44
-
45
57
Every error, warning etc. message will go to StdErr; and on the StdOut
46
58
you should only get the valid JSON output.
47
59
@@ -59,56 +71,3 @@ not yet committed into a repository, or from a repository directly.
59
71
If you would like to share your awesome Step with others
60
72
you can do so by calling `stepman share` and then following the
61
73
guide it prints.
62
-
63
-
## Documentation
64
-
65
-
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](http://facebook.github.io/react-native/) project workflow guide and an overview of the Step share process. You can find them in the [\_docs](/_docs/) folder.
66
-
67
-
## Development
68
-
69
-
### Guidelines
70
-
71
-
***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)!
72
-
***Code should be kept simple**: easy to understand, easy to collaborate/contribute (as much as possible of course).
73
-
***Compatibility**: never do an incompatible change, unless you can't avoid it. Release new features as additional options, to not to break existing configurations.
74
-
***Stability**: related to compatibility, but in general stability is really important, especially so in a CI/automation environment, where you expect fully reproducible outcomes.
75
-
***Flexibility**: should also be kept in mind, but only if it does not affect the previous points.
76
-
77
-
### Updating dependencies
78
-
79
-
To do a full dependency update use [bitrise-tools/gows](https://github.com/bitrise-tools/gows),
80
-
for a clean workspace:
81
-
82
-
```
83
-
gows clear && gows bitrise run dep-update
84
-
```
85
-
86
-
to test that all dependency is included:
87
-
88
-
```
89
-
gows clear && gows go test ./... && gows go install && gows bitrise run test
90
-
```
91
-
92
-
and/or with `docker-compose`:
93
-
94
-
```
95
-
docker-compose build && docker-compose run --rm app go test ./...
96
-
```
97
-
98
-
### Local Dev Workflow
99
-
The following commands will work to get you started using a text editor such as VCSCode or similar.
100
-
101
-
All commands should be run from the root directory.
0 commit comments