Project

General

Profile

Builder-CI Installation » History » Version 5

Olivier Bitsch, 04/23/2025 02:24 PM

1 4 Olivier Bitsch
# Builder CI
2 1 Olivier Bitsch
3 4 Olivier Bitsch
Builder CI is an automated build system designed to support Continuous Integration (CI) across various types of development projects. It was created with the goal of simplifying and automating build pipelines in a more efficient way than traditional tools like Jenkins.
4 1 Olivier Bitsch
5 4 Olivier Bitsch
It’s designed to optionally integrate with [Redmine](https://www.redmine.org/) via a [dedicated plugin](https://github.com/iabsis/redmine-builder-ci), allowing better visibility into builds directly within project management workflows.
6 1 Olivier Bitsch
7 5 Olivier Bitsch
![Screenshot](https://raw.githubusercontent.com/iabsis/builder-ci/master/doc/builder-ci.png)
8 1 Olivier Bitsch
9 4 Olivier Bitsch
---
10 1 Olivier Bitsch
11 4 Olivier Bitsch
## Features
12 1 Olivier Bitsch
13 4 Olivier Bitsch
- Create any script to create your package (e.g., `.deb`, `.rpm`)
14
- Exposes a REST API to trigger builds
15
- Modular and extensible — build your own flow
16
- Lightweight: built with Python and minimal dependencies
17
- Easy to install and update with a single command on Debian Bookworm
18
- Uses PostGreSQL, Django and Podman.
19
- Commands are run in container for more safety.
20
- "Build as Code": configure builds using a `builder.yml` file
21
- Trigger multiple flow in one commit
22
- Automatic podman container build, based on advance rules
23 1 Olivier Bitsch
24 4 Olivier Bitsch
---
25 1 Olivier Bitsch
26 4 Olivier Bitsch
## Installation Guide (Takes ~2 Minutes)
27 1 Olivier Bitsch
28 4 Olivier Bitsch
> Note: All commands should be run as `root`.
29 1 Olivier Bitsch
30 4 Olivier Bitsch
---
31 1 Olivier Bitsch
32 4 Olivier Bitsch
### Install Builder CI (Debian Bookworm)
33 1 Olivier Bitsch
34 4 Olivier Bitsch
```bash
35
echo "deb [trusted=yes] https://projects.iabsis.com/repository/builder-ci/debian bookworm main" > /etc/apt/sources.list.d/iabsis.list
36
apt update && apt install builder-ci postgresql redis nginx
37
```
38 1 Olivier Bitsch
39 4 Olivier Bitsch
This will return error since database is not yet configured, ignore for now and go to next step
40 1 Olivier Bitsch
41 4 Olivier Bitsch
---
42 1 Olivier Bitsch
43 4 Olivier Bitsch
### Configure database
44 1 Olivier Bitsch
45 4 Olivier Bitsch
```bash
46
su - postgres
47
createuser --pwprompt builder
48
createdb -O builder builder
49
```
50 1 Olivier Bitsch
51 4 Olivier Bitsch
### Configure Builder CI
52
53
Now edit `/etc/builder-ci/builder-ci.conf` and change the following lines.
54
55
```
56
DATABASE_NAME=builder
57
DATABASE_USER=builder
58
DATABASE_PASSWORD=builder
59
ALLOWED_HOSTS=mybuilder.com
60
```
61
62
Now fix the previous error with `apt -f install`
63
64
### Configure Nginx
65
66
Create a simple nginx configuration that will be used also serve static files.
67
68
```
69
server {
70
    listen 80;
71
    server_name mybuilder.com;
72
73
    location /static/ {
74
        alias /usr/share/builder-ci/statics/;
75
    }
76
77
    location / {
78
        proxy_set_header Host $host;
79
        proxy_pass http://127.0.0.1:8000;
80
        proxy_http_version 1.1;
81
        proxy_set_header Upgrade $http_upgrade;
82
        proxy_set_header Connection "upgrade";
83
    }
84
}
85
```
86
87
If you need to setup letsencrypt certificate, install `python3-certbot-nginx` and run `certbot --nginx`.
88
89
### Create first django user
90
91
```
92
set -a ; . /etc/builder-ci/builder-ci.conf
93
cd /usr/share/builder-ci/
94
. ./venv/bin/activate # Dont forgot the first dot
95
python3 manage.py createsuperuser
96
```
97
98
### Now open
99
100
> https://mybuilder.com
101
102
And login with your super user.
103
104
## Frequently Asked Questions
105
106
### Is Builder CI stable for production use?
107
108
Yes. It's used in production with frameworks like Laravel, Symfony, Ionic, Flutter, NestJS, Angular, and React across platforms such as Android, Debian, Ubuntu, Red Hat, and CentOS.
109
110
## I'm using redmine, can I have build status inside?
111
112
Yes, we did a [Redmine plugin](https://github.com/iabsis/redmine-builder-ci). Once installed, create API key and configure
113
114
```
115
REDMINE_URL=https://<your redmine host>
116
REDMINE_KEY=<your redmine key>
117
```
118
119
## Does Builder support SSO
120
121
Yes, you can configure SSO like Keycloak by configuring OpenID in configuration.
122
123
```
124
OPENID_ID=sso
125
OPENID_NAME="<display name on login page>"
126
OPENID_CLIENT_ID=<your keycloak client ID>
127
OPENID_SECRET=<your keycloak secret>
128
OPENID_CONFIGURATION_URL="https://<your keycloak url>/realms/<your keycloak realm>/.well-known/openid-configuration"
129
```
130
131
132
## Contributing
133
134
We welcome contributions of all kinds — including code, documentation, bug reports, and feature suggestions.
135
136
While formal contributing guidelines are coming soon, you can:
137
138
- Fork the repository
139
- Create a new branch for your changes
140
- Open a pull request
141
- Share feedback via comments or discussions
142
143
---
144
145
## License
146
147
Builder CI is licensed under the [GPL-3.0 License](LICENSE).