Hydra
雑に言うとJenkinsとかの代替品mrsekut.icon
Nixを使用したprojectに対してCI管理ができる
IntroductionにHydraがどういうものなのか書いてる
これ読むのが一番わかりやすかったmrsekut.icon
現状はNixOSしかサポートしていない
CIを実行するOSの話をしていると思うmrsekut.icon
Nix言語でjobと依存関係の設定を書く
Nixの再現性を活用してCIする
まっさらな状態から環境を作れる
Makeのような他のbuild management toolではincremental buildの結果を信用できない
incremental buildとfull buildで結果が変わったりする
Jenkins, CruiseControl Tinderbox, Sisyphus, Anthill and BuildBotなどの他のCIサービスの問題点
ビルド環境のmanageをしない
compilerやlibraryなどの依存関係などを管理していない
多くの場合、手動でやる必要があり、versionを上げたあとに元に戻すなどが困難
ビルド環境が複数ある場合、そこで使うcompilerのupgradeなどを個々でやる必要がある
build optionや、そのproductがsupportするversionなどが多い場合に対応できない
例えば、JS向けのframeworkを作っていてsupportするJSのversionが複数あるなど
Hydraを使ってCIしているものの例
どこを見たらわかるのかいまいちわからないがNixOSやnipkgsのCIとしてもHydraが使われているらしい
設定を書いている場所を知りたいmrsekut.icon
CLIでHydraの操作をする
古い