guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Guix in Docker for automated CD/CI of complex software


From: zimoun
Subject: Re: Guix in Docker for automated CD/CI of complex software
Date: Mon, 25 Nov 2019 22:33:17 +0100

Hi,

On Fri, 22 Nov 2019 at 19:57, Vicente Eduardo <address@hidden> wrote:

> [...] I want to run guix inside docker in order to have a portable 
> installation of guix for common ci/cd enviroments.

I was suggesting that maybe you can use Guix to create this image. :-)

--8<---------------cut here---------------start------------->8---
$ guix describe
Generation 57   Nov 25 2019 14:26:15    (current)
  guix b5d4d5b
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: b5d4d5b9bcf267fddd02fcc14b88eac0bebf979f
--8<---------------cut here---------------end--------------->8---

--8<---------------cut here---------------start------------->8---
$ guix pack            \
     -f docker       \
     -C none         \
     -S /bin=bin     \
     -S /lib=lib     \
     -S /share=share \
     -S /etc=etc     \
     guix
$ docker load < /gnu/store/8vrdpas5s9alpczixc8bw83x9sxc8if5-docker-pack.tar
--8<---------------cut here---------------end--------------->8---

--8<---------------cut here---------------start------------->8---
$ docker run -ti guix guix --version
--8<---------------cut here---------------end--------------->8---


Obviously, it needs some love (dameon) to fit your use case. And I do
not know if it make sense but I would try to replace this Dockerfile
[1] by a manifest and "guix pack". Or maybe as a first step using
Dockerfile based on Guix instead of Alpine.

[1] https://github.com/metacall/guix/blob/master/Dockerfile

And even, instead of the raw instruction, I would use the installation
script [2].

[2] https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh


> Here's the metacall schema: 
> https://github.com/metacall/distributable/blob/53caad582cd097c5e92798bf0ec16660bfc4030c/source/metacall.scm
>
> My idea is to generate a zip with all libraries self contained, rather than a 
> Docker image.

The "guix pack" should fit your need. But I am not sure because it is
a simple cmake-build-system with few (guix) dependencies, i.e., it
"relies a lot in CMake features like ExternalProject".



All the best,
simon



reply via email to

[Prev in Thread] Current Thread [Next in Thread]