非docker的jenkins的master如何使用docker的jenkins的slave
前提
1、存在jenkins的master,这个master不是docker的,是通过yum install jenkins安装的
2、使用docker创建n个jenkins,方法是docker pull jenkins拉取官方的jenkins版本
这里可以使用网易镜像中心的jenkins:https://c.163.com/hub#/m/repository/?repoId=3093
或者docker上的jenkins:https://store.docker.com/images/jenkins
下面开始:
1、首先使用官方版镜像创建jenkins,根据官方指导(上面的两个链接里有)使用如下命令:
docker run --name myjenkins1 -p 8081:8080 -p 50000:50000 -v /var/lib/jenkins:/var/jenkins_home jenkins
或者:docker run --name
myjenkins2 -p 8082:8080
-p 50000:50000
-v
/home/admin/jenkins:/var/jenkins_home
hub.c.163.com/library/jenkins
说明:因为我们是制作slave的,所有没有必要映射5000端口,5000端口主要作为master的jenkins用来连接slave的。
当我们在一个机器上创建多个docker容器作为jenkins的slave时,需要映射宿主机不同的位置.同事要映射宿主机不同的端口,避免端口冲突
2、在master上配置从节点
说明:远程工作目录根据上步映射的宿主机目录填写(
或/home/admin/jenkins
/var/lib/jenkins
);
启动方法选择Launch agent via execution of command on the master, Launch command内容为sshpass -p password ssh user@ip /usr/install/jdk1.8.0_60/jre/bin/java -jar /var/lib/jenkins/slave.jar;master机器上先安装sshpass(yum install sshpass),"/usr/install/jdk1.8.0_60/jre/bin/java"为master机器的java执行全路径,不要写java,同时如果/varl/lib/jenkins下面没有slave.jar的化,copy进去