jenkins-slave-ssh docker容器化
架构
参考:https://www.youtube.com/watch?v=OxrBCt1JLuQ
https://github.com/David1107/Proyecto-Final
思路: jenkins-slave-ssh本质上是一台基于ssh的普通的Ubuntu或者centos. 然后基于这个镜像构建各种环境,如falsk,如mvn构建环境等等.供jenkins master调用.
也就是说在centos上安装sshd,并且设置密码.如jenkins:jenkins,也可以任意自己设置.
在jenkins server添加slave的时候配置该密码即可.
- 2.1jenkins默认启动你指定的slave镜像名字,其次server通过用户名密码登录到slave容器
- 2.2其次运行java -jar slave.jar
构建jenkins master slave镜像
分别打jenkinsmaster jenkinsslave的image
之所以构建master,是因为安装jenkins插件方便点
git clone https://github.com/David1107/Proyecto-Final.git
这里安装了docker:0.16.2
FROM jenkins
#Install plugins
RUN /usr/local/bin/install-plugins.sh docker:0.16.2
RUN /usr/local/bin/install-plugins.sh saferestart:0.3
RUN /usr/local/bin/install-plugins.sh git:3.0.1
#setup no run setup wizard
ENV JAVA_OPTS="-Djenkins.install.runSetupWizard=false"
启动master
docker run -d -p 8080:8080 --name master jenkinsmaster
配置:
添加一朵docker云
配置项目:
https://github.com/d4n13lbc/testproject.git
成功执行:
docker的其他项目参考:
https://www.youtube.com/watch?v=Br0SIkNIdwI&list=PLoNdAWCRLF6OLumvFigmI4xRD2kAbGPld
https://github.com/AnghelLeonard/SpringMVCDemo.git
附录
docker 开启远程连接sock
$ cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"hosts": [
"tcp://0.0.0.0:2375",
"unix:///var/run/docker.sock"
]
}
netstat 可以看到2375端口