Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/globocom/gitlab-ci-monitor

A simple dashboard for monitoring GitLab CI builds. Alpha version.
https://github.com/globocom/gitlab-ci-monitor

continuous-delivery continuous-integration dashboard gitlab gitlab-ci hacktoberfest javascript monitoring vuejs

Last synced: 3 months ago
JSON representation

A simple dashboard for monitoring GitLab CI builds. Alpha version.

Awesome Lists containing this project

README

        

# GitLab CI Monitor

A simple dashboard for monitoring [GitLab CI][gitlab-ci] builds.
**Alpha version**.

Gitlab Support: 9.0 (API V4)

[gitlab-ci]: https://about.gitlab.com/gitlab-ci/

![Example][example]

[example]: images/gitlab-ci-monitor-example.png

## Usage

This project runs completely in the browser. It expects a few parameters
in the query string:

- **gitlab**: your gitlab server address (not needed if you deployed the monitor on the gitlab instance)
- **token**: your gitlab token (if you deployed the monitor on the gitlab instance you may set this to `use_cookie`)
- **projects**: a comma separated list of projects in the form GROUP_NAME/PROJECT_NAME/BRANCH_NAME you want to monitor.
- **groups**: a comma separated list of groups or subgroups
- **order**: a comma separated list of fields to order projects, optionally followed by .asc or .desc modifier

At least one of `groups` or `projects` need to be set.

Example:

```
http://gitlab-ci-monitor.example.com/?gitlab=gitlab.example.com&token=12345&projects=namespace/project1/master,namespace/project1/branch1,namespace/project2/master&order=status.desc,project,author.asc
```

With these parameters, it will try to fetch the list of projects that this
token has access. Then, it will filter the list by the **projects** parameter
and show only the ones that have builds (i.e., that have GitLab CI enabled).

If you set `groups` it will show the status of the default branch of those
projects in the group, which are active and have jobs enabled.

Example:
```
https://gitlab.example.com/?token=use_cookie&groups=group1,base/group2,group3
```

This requires installation on the gitlab server. With these parameters you see the pipeline state
of the default branch of all projects in groups group1, base/group2 and group3.

* The project name in title of a box links to the project, the branch name to the tree view of the branch.
* The commit hash on the lower left links to the tree view of the commit.
* The commit title links to the pipeline overview.
* Hovering over the time on the lower right will give you the exact date.

## Installation on a GitLab instance

* Download and unpack to a directory of your choice:
```
rm -rf /usr/local/share/gitlab/monitor
mkdir -p /usr/local/share/gitlab/monitor
curl -s -L https://github.com/globocom/gitlab-ci-monitor/archive/master.tar.gz | tar xz -C /usr/local/share/gitlab/monitor --strip-components=1
```

or

```
make install
```

* Now insert the following to your `/etc/gitlab/gitlab.rb` (the entry already exists but it commented):
```
nginx['custom_gitlab_server_config'] = <<-NGINX_CONF
location /_internal/monitor/ {
index index.html;
proxy_cache gitlab;
alias /usr/local/share/gitlab/monitor/;
}
NGINX_CONF
```
* Run `gitlab-ctl reconfigure`
* Now you may use the monitor without providing the parameter `gitlab` and set `token=use_cookie`

## License

GitLab CI Monitor is licensed under the [MIT license](LICENSE).