假设我想将一个用于定制内部硬件的二进制内核模块分发给公司内部的用户。理想的情况是它不需要用户进行任何编译。我只想使用标准的 apt-get/software update GUI 工具将其分发给我们的用户。
为了我们的目的,我们假设我已经设置了一个 Jenkins 实例来构建所述内核模块,将其打包到 .deb 档案中并将其添加到内部 APT 存储库。
这种情况可行,但是我必须手动监视 Ubuntu 不同版本的新内核发布时间并手动启动每个新内核构建。
我想找到一种方法,让 Jenkins 自动轮询 Jenkins APT 存储库中的内核更新,并启动新内核驱动程序的新版本。以前有人做过类似的事情吗?你是怎么做到的?
答案1
听起来像是一个相对简单的脚本可以做的事情,类似于在 git post-receive 钩子中触发构建的方式。伪代码如下:
sudo apt-get update
kversion=$(apt-cache policy kernel | sed .....)
if [ our module not yet available for this kernel ]; then
wget http://jenkins/url_to_trigger_parametrized_build
fi