kaihendry / geekout.org.uk

Kai & Jamie's Mongol Rally 2011 Website source
https://geekout.org.uk/
0 stars 1 forks source link

Move to Docker based build #5

Closed JamieKitson closed 3 years ago

JamieKitson commented 3 years ago

https://wonderful-einstein-1573b8.netlify.app https://github.com/JamieKitson

Tags, dates and chronological orders are working/correct.

JamieKitson commented 3 years ago

And I've fixed the flickr script.

https://github.com/JamieKitson/geekout.org.uk/commit/1c8c932cd2c521b887d3cf75d420d800ffebe4aa

kaihendry commented 3 years ago

I'm having issues with your build script Jamie.

root@358c417112a1:/home/jamie/geekout.org.uk# ./build.sh
error: cannot run ssh: No such file or directory
fatal: unable to fork
'git pull --prune origin' failed:  at /usr/share/perl5/IkiWiki/Plugin/git.pm line 251.
Can't locate Date/Parse.pm in @INC (you may need to install the Date::Parse module) (@INC contains: /home/jamie/.ikiwiki /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at (eval 69) line 1.
BEGIN failed--compilation aborted at (eval 69) line 1.

Been spending some time debugging via: https://github.com/kaihendry/geekout.org.uk/blob/JamieKitson-master/Makefile I also created a Dockerfile just to create a sane reproducible build environment https://github.com/kaihendry/geekout.org.uk/blob/JamieKitson-master/Dockerfile

Btw did you notice https://github.com/kaihendry/geekout.org.uk/blob/master/bin/build-site ? Tbh I think we should focus on getting that Docker environmen workingt, so that it can build the ikiwiki site.

JamieKitson commented 3 years ago

@kaihendry I don't understand what you're saying here, my build script does not call ssh, but the error messages seem quite clear.

That looks like an old copy of my build script when I was trying to get Netlify to install ikiwiki, my current one just runs ikiwiki, I think the important things are the build parameters and the config file.

https://github.com/JamieKitson/geekout.org.uk/blob/master/build.sh https://github.com/JamieKitson/geekout.org.uk/blob/master/geekout.org.uk.setup

kaihendry commented 3 years ago

I've finally created a Dockerfile for reproducing your build which appears to work:


(ins)[hendry@t14s geekout.org.uk]$ cat Dockerfile
FROM ubuntu

ENV TZ=Europe/London
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN apt-get update && apt-get install -y \
    ikiwiki libtext-multimarkdown-perl libimage-magick-perl build-essential vim-tiny \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /home/jamie/geekout.org.uk

COPY . .

CMD ["/home/jamie/geekout.org.uk/build.sh"]
(ins)[hendry@t14s geekout.org.uk]$ docker build -q -t geekout .
sha256:9546cfadf5ae62c328e1b87248a520811758d5e8420834ec5abd6beee4219592
(ins)[hendry@t14s geekout.org.uk]$ docker run --rm -v /tmp/out:/home/jamie/geekout.org.uk/out geekout
kaihendry commented 3 years ago

Next steps is to put this in a Github action to deploy to s3://geekout.org.uk