[ci]jenkins-slave-ssh docker容器化

Posted 毛台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ci]jenkins-slave-ssh docker容器化相关的知识,希望对你有一定的参考价值。

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调用.

  1. 也就是说在centos上安装sshd,并且设置密码.如jenkins:jenkins,也可以任意自己设置.

  2. 在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端口

以上是关于[ci]jenkins-slave-ssh docker容器化的主要内容,如果未能解决你的问题,请参考以下文章

GitLab CI Pipeline框架

在 Gitlab-CI 中启用并行构建

Gitlab CI/CD Runner

持续集成CI&CD之CI的完整版最佳实践

_cs, _ci, or _bin,

[travis-ci]自动集成测试