aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/dash/README.md
blob: c68de4560b7c58dd7ee952abfe33d9a3f7ce2937 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# A Dashboard for Bazel

This is a self-hosted dashboard for Bazel. In particular, this runs a server
that turns build results and logs into webpages.

## Running the server

Build and run the server:

```bash
$ bazel build //src/tools/dash:dash
$ bazel-bin/src/tools/dash
```

Once you see the log message `INFO: Dev App Server is now running`, you
can visit [http://localhost:8080] to see the main page (which should say "No
builds, yet!").

This builds a .war file that can be deployed to AppEngine (although this
doc assumes you'll run it locally).

_Note: as of this writing, there is no authentication, rate limiting, or other
protection for the dashboard. Anyone who can access the URL can read and write
data to it. You may want to specify the `--address` or `--host` option
(depending on AppEngine SDK version) when you run `dash` to bind the server to
an internal network address._

## Configuring Bazel to write results to the dashboard

You will need to tell Bazel where to send build results. Run `bazel` with the
`--use_dash` and `--dash_url=http://localhost:8080` flags, for
example:

```bash
$ bazel build --use_dash --dash_url=http://localhost:8080 //foo:bar
```

If you don't want to have to specify the flags for every build and test, add
the following lines to your .bazelrc (either in your home directory,
_~/.bazelrc_, or on a per-project basis):

```
build --use_dash
build --dash_url=http://localhost:8080
```

Then build results will be sent to the dashboard by default.  You can specify
`--use_dash=false` for a particular build if you don't want it sent.

Please email the
[mailing list](https://groups.google.com/forum/#!forum/bazel-discuss)
with any questions or concerns.