Ci | iii threetreeslight

April 30, 2018

build hugo on ci

deployに備えてblogのci環境を構築する。 stackshare - ci を見る限りcircleciがshare的にも無難。 とはいえ、使い慣れたツールっていうのも味気ないが、将来的にはconcourse ci に載せ替えるとしてとりあえずはcircleciを利用する。 circleciで準備されたimageを利用するのだが、その中でやれ何かをinstallするとか辛いし時間がもったいない。 速さは正義なので、imageをpullしてcodeをmountし、buildするという流れが望ましい。 create docker image まずhugoが稼働するdocker imageをつくる。 世にあるやつがメンテナンスされていないのと、host側の設定をcopyするようなものだったので、動きやすさを含めて自分で作成。 https://hub.docker.com/r/threetreeslight/docker-hugo/ executer type どうするか? executerをdockerで動かしたときに、container内にcheck-outしたfileをどうやってmountするか。 circleciを見る限りvolumeを共有することは困難である。そりゃそうだよね。 https://circleci.com/docs/2.0/executor-types/#using-docker とはいえmachineを使うと Start time が 30-60 sec という。 このリードタイムは許せない。 Remote Docker そこで見つけたのがRemote Dockerという機能 https://circleci.com/docs/2.0/building-docker-images/ To build Docker images for deployment, you must use a special setup_remote_docker key which creates a separate environment for each build for security. This environment is remote, fully-isolated and has been configured to execute Docker commands. ... Read more

April 30, 2018

build hugo on ci

deployに備えてblogのci環境を構築する。 stackshare - ci を見る限りcircleciがshare的にも無難。 とはいえ、使い慣れたツールっていうのも味気ないが、将来的にはconcourse ci に載せ替えるとしてとりあえずはcircleciを利用する。 circleciで準備されたimageを利用するのだが、その中でやれ何かをinstallするとか辛いし時間がもったいない。 速さは正義なので、imageをpullしてcodeをmountし、buildするという流れが望ましい。 create docker image まずhugoが稼働するdocker imageをつくる。 世にあるやつがメンテナンスされていないのと、host側の設定をcopyするようなものだったので、動きやすさを含めて自分で作成。 https://hub.docker.com/r/threetreeslight/docker-hugo/ executer type どうするか? executerをdockerで動かしたときに、container内にcheck-outしたfileをどうやってmountするか。 circleciを見る限りvolumeを共有することは困難である。そりゃそうだよね。 https://circleci.com/docs/2.0/executor-types/#using-docker とはいえmachineを使うと Start time が 30-60 sec という。 このリードタイムは許せない。 Remote Docker そこで見つけたのがRemote Dockerという機能 https://circleci.com/docs/2.0/building-docker-images/ To build Docker images for deployment, you must use a special setup_remote_docker key which creates a separate environment for each build for security. This environment is remote, fully-isolated and has been configured to execute Docker commands. ... Read more