通过ssh插件交付任务
不想把任务部署在matser节点工作,如何部署到新的节点上呢?可以使用ssh的方式
新建测试虚拟机vm7,ip:192.168.56.177,提前安装docker-ce,和之前一样的操作
[root@vm7 ~]# yum install -y docker-ce
[root@vm7 ~]# cd /etc/docker/
[root@vm7 docker]# ls
certs.d daemon.json key.json
[root@vm7 docker]# cat daemon.json
{
"registry-mirrors": ["https://reg.westos.org"]
}
[root@vm7 docker]# systemctl restart docker
安装插件
进入系统配置,添加ssh主机 ,添加远程主机,端口为22,使用前面创建的ssh证书,保存
新建test项目
当docker项目成功运行后触发test项目
回到docker项目,修改配置,不用之前的shell,使用远程的shell,命令还是运行容器,保存,构建
构建后查看输出
添加jenkins节点
实际中我们不可能直接用jenkins的matser节点工作,master只负责调度,本次添加新节点作为jenkins的agent节点,agent节点来真正工作
agent节点安装jdk和git
在节点管理中添加节点
安装ssh build agent插件
系统管理,节点管理
添加agent节点的信息,启动方式为ssh,添加证书,不校验,保存
vm7测试机上需要安装git 和 jdk
[root@vm7 ~]# yum install -y git
[root@vm7 ~]# rpm -ivh jdk-11.0.15_linux-x64_bin.rpm
关闭master节点的构建任务数,master只负责调度
最后测试构建,构建任务会在docker1节点上运行
RBAC
之前一直使用的root账户,具有所有权限,实际中应该使用普通用户,并且权限进行一定的限制
安装插件
修改默认授权策略,从原来的登陆用户可以做任何事改为基于角色的控制
新建测试用户
新建角色,添加全局角色,users,权限只有读;添加项目角色demo,可以看凭据,可以读写运行任务,对demo开头的项目都生效
匹配以test或docker开头的项目,docker的可以构建和读,test的只能读
用户授权
创建完角色徐绑定到用户身上,不同用户不同角色不同权限
使用不同的用户登录,测试权限是否正确