在Docker 中搭建Jenkins Slave有几种方式,包括slave ssh, JNLP和 run as Jenkins docker cloud slave.所有的这些方式的前提是有一个合适的docker image作为slave,合适的意思是不同的项目需要不同的build toolkit, 但是如果Jenkins slave 是从SSH launch,那么这个image至少需要sshd server和JDK installed(参考https://wiki.jenkins.io/display/JENKINS/Docker+Plugin)
1. slave as stand alone Jenkins server
如果使用jenkins/ssh-slave作为base image,需要在启动的使用inject public key.
关于如何生成public key:
cd ~/.ssh ssh-keygen -t rsa -C "Jenkins key" cat jenkins.pub |
然后,起一个docker container,使用jenkins/ssh-slave作为image
docker pull jenkins/ssh-slave |