Hi list,
We came up with an idea how to use Docker in copr at Env&Stacks WG meeting:
Let's say you are a maintainer of few packages or you just want to try
to change/fix something in some packages. You decide to use copr for
building these changed packages.
At the moment, when your build is done, you have to install them on your
system or to some virtual machine which requires some additional typing,
time and can cause potential problems if you've broken something in the
code.
My idea would be to enhance copr so that it is able to build layered
Docker image which would contain newly built packages. User could then
download/pull the image and run it as container - that could mean either
run bash there, some specific command or even some automatic test.
I am not sure about the build process yet - we need to discuss it - copr
can either require Dockerfile from user or the Dockerfile could be
probably constructed dynamically. Basic Dockerfile would need to add
repo files and install/update built packages in the image. If we want to
get it further we could think of adding some configuration, run specific
command on container start or let user select base image he would like
to use, but these are implementation details.
Another question that needs to be answered is in what way the built
image would be provided to the user - it can be either *.tar.gz which he
could download and call docker load -i or we can have docker registry
for these images and push them there. User would then be able to run
docker pull to get the image.
What do you think? Do you think this makes sense for copr?
Thanks & regards,
Vaclav
--
Lead Infrastructure Engineer
Developer Experience
Brno, Czech Republic