[build2] Dockerfiles and Docker Images

Boris Kolpackov boris at codesynthesis.com
Thu Jan 14 11:17:00 UTC 2021


Markus Pawellek via users <users at build2.org> writes:

> But the main reason has been that someone might want to ship an
> application as Docker image [...]

Yes, that makes sense.


> For me specifically, sometimes I am using external libraries that are
> not provided by the build2 package archive but instead can easily be
> installed by the system's package manager. I am not aware of a method
> that allows me to install system dependencies on ci.cppget.org [...]

Yes, there are two potential approaches (not mutually exclusive) to
handling this:

1. Package such external libraries.

2. Install them using the system package manager (via the stub packages
   that you've mentioned).


> I would like to do code coverage and send reports to a hosting platform,
> such as Codecov. For this, I am forced to use another CI server which
> allows me to generate the reports and send them via a shell command.

Yes, I think in our CI model supporting something like this would
entail creating a build VM with all the necessary integration that
would be available to everyone.

More generally, there are two main CI models: everyone is using standard
build VMs (like ci.cppget.org) and everyone is making their own custom
Docker images. From personal experience, I don't believe the second
model scales very well to the number of configuration that we offer (and
which we believe is necessary for a viable C/C++ package ecosystem).


> Furthermore, even if it is negligible, I would like to link the last
> CI results consistently to the README file in form of a badge or
> something similar.

Yes, this is quite doable we just haven't gotten to it yet. There is
even an issue for that:

https://github.com/build2/build2/issues/15

Overall, there is a lot of potential improvement around the CI
service. For example, we could support monitoring git repositories
for new commits/tags/etc to trigger rebuilds (the pull model).



More information about the users mailing list