Newer
Older
A set of Docker images used to build Debian packages and push them to
a remote repository, for multiple target distributions and
architectures.
The resulting images are huge (>500MB), but can be successfully used
to build packages and push them to a remote repository (which must be
using [urepo](https://git.autistici.org/ale/urepo)).
A base [ci-common.yml](Gitlab CI configuration template) is provided,
to be included in other projects' *.gitlab-ci.yml* files.
For package upload, the following environment variables should be set:
* `REPOSITORY_SSH_PRIVATE_KEY` is the private SSH key to use for authentication
* `REPOSITORY_NAME` is the urepo repository name
* `REPOSITORY_TARGET` is the repository target hostname (or user@hostname)
# Usage
In order to maintain centralized control over the package build
process for a large number of projects, we make use of Gitlab CI's
*include* functionality.
At the very minimum, a new project should set up its *.gitlab-ci.yml*
file like the following:
```yaml
include "https://git.autistici.org/ai3/build-deb/raw/master/ci-common.yml"
```
It is then possible to add additional stages (like testing, for instance):
```yaml
include "https://git.autistici.org/ai3/build-deb/raw/master/ci-common.yml"
stages:
- test
- build_pkgsrc
- build_pkg
- upload_pkg
test:
stage: test
script: tox -e py27
```
if you override the *stages* list, remember to add the build-deb stages
in order: *build_pkgsrc*, *build_pkg*, *upload_pkg*.