Docker 中搭建Jenkins Slave之standalone ssh server

在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

docker run  -d -P --name slave jenkins/ssh-slave ""


假设22端口expose在端口32769

可以使用如下命令登陆

ssh -p 32769 jenkins@localhost

找到这个container对应的IP

docker inspect slave

2.Jenkins->Manage Jenkins->Manage Node->New Node,填入一个node name,然后按照如下配置slave

Docker 中搭建Jenkins Slave之standalone ssh server_第1张图片Docker 中搭建Jenkins Slave之standalone ssh server_第2张图片

你可能感兴趣的:(devops,Jenkins)