一.简介
jenkins分布式架构,可一主master多从slave,从slave作为代理,即把jenkins的任务分开执行,如slave1运行maven编译、slave2运行docker build构建镜像、salve3运行ansible剧本等。
master上面安装的docker、maven、ansible,以及hosts配置和私有仓库相关配置,在slave上根据情况也需要相应的配置。
二.从节点部署
1.安装jdk11 因为master安装时是jdk11
三.节点加入
系统管理---节点管理
新建节点
自定义名称
填写节点信息
添加凭证
填写相关信息
选中刚创建凭证
保存后 稍等就看到添加成功
点进去 可以看日志和构建的任务执行状态
这样就OK了
四.从节点执行任务呢示例
1.jenkins复制一个原来的任务,放在slave上执行
复制一个原来的项目
2.General---限制项目的运行节点---填写slave1的标签
3.保存后 Build with Parameters---构建历史---控制台输出
五.故障排错
#控制台输出报错1
stderr: No ECDSA host key is known for 192.168.77.147 and you have requested strict checking.
Host key verification failed.
解决:slave1s上手动连接gitlab一次
#控制台输出报错2
ERROR: Maven Home /app/tools/maven doesnt exist
解决:slave1上安装maven到/app/tools/目录下
#控制台输出报错3
/tmp/jenkins12374773886147685898.sh:行12: docker: 未找到命令
解决:
#控制台输出报错4
Step 1/8 : FROM alpine:3.20
error pulling image configuration:
解决:
以上问题,若slave与master配置一样,salve配置改为“尽可能使用这个节点”,同时上面的错误也不存在