[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Guix in Docker for automated CD/CI of complex software
From: |
Ludovic Courtès |
Subject: |
Re: Guix in Docker for automated CD/CI of complex software |
Date: |
Tue, 26 Nov 2019 10:59:29 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hi Vincente & all,
zimoun <address@hidden> skribis:
> I was suggesting that maybe you can use Guix to create this image. :-)
>
> $ 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
>
> $ 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
>
> $ docker run -ti guix guix --version
>
>
> Obviously, it needs some love (dameon) to fit your use case.
The way I’d do it is by doing:
guix system docker-image config.scm
where ‘config.scm’ is something minimalist like
<https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/system/examples/bare-bones.tmpl>.
That gives you a Docker image in which ‘guix-daemon’ is running, and
thus you can do “docker run guix build” (roughly) to build things in
that image. See
<https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-system.html>.
Would that work for you, Vincente?
Anyhow, thanks for sharing. I’ve used Guix on top of a “foreign distro”
for CI, and I think it’s pretty useful in that context!
Ludo’.