1、首先jenkins在rancher平台上必须暴露两个端口,一个用于web服务,一个用于jnlp协议,master和slave的连接使用。
如下图所示,使用jenkins master的镜像服务,8080为web容器端口,50000为master和slave的协议端口。端口可自定义数字无要求。
2、项目启动以后在插件管理中安装k8s的插件。
3、在jenkins中配置k8s的信息
其中的k8s地址和凭证都能在rancher主页的kubeconfig文件中找到。
直接将 kubeconfig文件复制成txt文件,制作成jenkins的secret file凭证。并测试看是否连通。
4、此处填写的jenkins地址并非是web访问的地址。而是jenkins容器内部的地址。内部端口号是我们设置的8080,内部服务的名称我们可以在rancher的service中找到。
5、需要配置slave的信息,包括slave使用的镜像。
6、在jenkins全局安全配置上配置代理连接时使用的端口号。由于jenkins master暴露的是50000,这里配置成50000
7、进行测试,新建一个简单的job,执行shell脚本。
8、build,我们可以在rancher平台上看到自动生成了一个slave进行构建,构建成功后又自动销毁。
以下截取一些构建日志。