冰雹
基于hydra的基于拉动的连续部署服务
用法
冰雹--个人资料档案--job-uri HYDRA_job_uri
可选标志:
--netrc-file网络文件
指向的路径净钢筋混凝土指定hydra HTTP访问凭据的文件。默认为/etc/netrc等
如果存在。
--投票周期
轮询作业的时间段,以分钟为单位(默认值:5)
--一次性
只更新一次,而不是循环更新。
冰雹
假设尼克斯
在其中可用路径
设置为从hydra的二进制缓存中提取。
操作
冰雹
将定期轮询提供的最新成功构建液压作业
。当它更改时,它将更新/nix/var/nix/profiles/PROFILE
指向新构建并运行/nix/var/nix/profiles/PROFILE/bin/激活
如果已存在路径/nix/var/nix/profiles/PROFILE
什么时候冰雹
启动时,它将运行激活
程序。
一步一步
- 创建一个hydra作业集,其中包含一个为相关服务创建配置文件的作业。配置文件应在中包含程序
箱子/激活
即:
- 设置服务运行所需的一切(例如,添加systemd/init.d服务、根据需要初始化dbs等)
- 是幂等的
- 可以检测是否有早期版本的服务正在运行并尽可能自动切换
- 设置nix配置以从hydra的二进制缓存中提取数据。
- 运行
冰雹
在所有应该运行该服务最新版本的计算机上(请参阅引导)
- 享受
引导
如果有多个服务,每个服务都由独立管理冰雹
,你可能想要这些冰雹
实例本身由管理器管理冰雹
实例。请参见hail-systemd-bootstrap.nix系统寻找在基于系统的系统上实现这一点的方法。
未来的工作
- 以可监控的方式报告错误
- 处理在作业集全部成功之前不想更新的情况
- 本机haskell客户端与nix守护进程对话
- 正确处理手动启动的回滚等。
- 用于轻松部署新服务的库/模板
- 一个很好的蓝色绿化故事
- 处理服务删除
- 与distro-gnostic服务运行器合并